요소 추가 및 읽기
Coddy Lua 여정의 Luau 소개 섹션에 포함된 레슨. 80개 중 14번째.
이미 table.insert와 table.remove로 Lua 테이블의 크기를 늘리고 줄이고 있습니다. 두 함수는 타입이 지정된 배열에서도 똑같이 작동합니다. 다른 점은 이제 Luau가 삽입하는 값의 타입을 확인한다는 것입니다. {number} 배열에 문자열을 넣으면 혼란스러운 플레이어가 실행 중에 문제를 발견하는 것이 아니라, 코드를 입력하는 동안 오류로 표시됩니다.
local queue: {string} = {"save", "load"}
table.insert(queue, "quit") -- 맨 끝에 추가
table.insert(queue, 1, "help") -- 나머지 요소를 뒤로 밀고 위치 1에 삽입
local last = table.remove(queue) -- 마지막 요소를 제거하고 반환table.remove(t)는 마지막 요소를 꺼내서 돌려줍니다. table.remove(t, 1)은 첫 번째 요소를 제거하고 나머지 요소를 모두 한 칸씩 앞으로 옮깁니다. 배열의 타입이 {string}이므로 Luau는 반환되는 값이 문자열임을 알고 있습니다.
읽기는 일반 Lua에서처럼 오류 없이 처리됩니다. 값이 없는 인덱스인 queue[0], queue[-1] 또는 #queue보다 큰 인덱스를 읽으면 조용히 nil을 반환합니다. 오류는 발생하지 않으므로, 존재 여부가 확실하지 않은 값을 사용하기 전에 nil인지 확인하세요.
챌린지
쉬움타입이 지정된 동작 목록을 늘리고 줄여 보세요.
local moves: {string} = {"jump", "run"}을 선언하세요.table.insert를 사용해"duck"을 추가한 다음, 위치 1에"crawl"을 삽입하세요.table.remove(moves)의 결과를local removed에 저장한 다음,removed,#moves,moves[1],moves[10]을 출력하세요.
코드 실행을 누르세요. 출력에는 duck, 3, crawl, nil이 표시됩니다.
직접 해보기
-- 1) "jump"와 "run"을 사용해 moves: {string}을 선언하세요
-- 2) "duck"을 추가하고 위치 1에 "crawl"을 삽입하세요
-- 3) 마지막 동작을 제거한 다음 네 값을 출력하세요
Luau 소개의 모든 레슨
4함수 다루기
매개변수와 반환값의 타입 지정익명 함수의 타입 지정아무것도 반환하지 않는 함수선택적 매개변수기본 매개변수 값불리언 기본값가변 인자 함수함수 타입 정의하기복습: 타입이 지정된 함수직접 연습해 보세요: 온라인 Luau 컴파일러