다음은 Lua의 기능 및 변수의 목록입니다. 이러한 함수는 Lua 5.1.4의 표준 설치에서 사용할 수 있지만, Roblox에서 일부는 작동하는 방법에 대해 약간의 차이가 있습니다.
요약
함수
제공된 value 가 false 또는 nil 으로 해결되면 오류가 발생합니다.
스레드 실행을 중지하고 오류를 발생시킵니다.
킬로바이트당 메모리 힙 크기를 반환합니다.
지정된 테이블의 메타테이블을 반환합니다.
반복 문 함수와 테이블을 반환합니다.Returns an iterator function and the table for use in a for loop.
제공된 코드를 실행할 수 있는 함수로 반환합니다.
옵션 메타테이블을 포함하여 빈 userdata 를 만듭니다.
루프에서 사용할 반복 기능 함수입니다.
반복 문 for 에서 사용할 테이블을 반환합니다.
제공된 함수를 실행하고 발생하는 모든 오류를 캐치하고 함수의 성공과 결과를 반환합니다.
제공된 모든 값을 출력에 프린트합니다.
메타메서드를 우회하여 v1 이 v2 와 같은지 여부를 반환합니다.
모든 메타메서드를 무시하고 table[index] 의 실제 값을 얻습니다.
메타메서드를 무시하고 문자열 또는 테이블의 길이를 반환합니다.
메타메서드를 무시하고 table[index] 의 실제 값을 설정합니다.
ModuleScript가 실행되지 않았다면 반환하는 값을 반환합니다.
지정된 인덱스 후에 모든 인수를 반환합니다.
지정된 테이블의 메타테이블을 설정합니다.
불가능한 경우 제공된 값을 숫자로 변환하거나 없으면 제공된 값을 없습니다.
가능하지 않은 경우 제공된 값을 문자열 또는 없으면 반환됩니다.
제공되는 개체의 기본 유형을 반환합니다.
지정된 목록의 모든 요소를 튜플로 반환합니다.
Global.LuaGlobals.pcall() 에 유사하지만 사용자 정의 오류 처리기를 사용합니다.
함수
assert
제공된 value 가 false 또는 nil 인 경우 오류가 발생합니다. 주장이 성공하면 전달된 모든 값을 반환합니다.
local product = 90 * 4assert(product == 360, "Oh dear, multiplication is broken")-- The line above does nothing, because 90 times 4 is 360
매개 변수
대상이 되는 값입니다.
부정 식이 실패하면 표시되는 텍스트.The text that will be shown in the error if theassertion fails.
반환
error
마지막으로 호출된 보호된 함수를 영구 정지message 를 오류 메시지로 출력합니다. 오류가 있는 함수가 보호된 함수에 호출되지 않았다면 함수를 호출한 스크립트는 모두 종료됩니다. 오류 함수 자체는 종료되지 않고 스크립트 오류처럼 작동합니다.
level 인수는 오류 위치를 가져오는 방법을 지정합니다. 기본 레벨 1 (오류 함수가 호출된 위치)에 대해 오류 위치는 오류 함수가 호출된 위치입니다. 레벨 2는 메시지오류를 호출한 위치를 지정하고, 그런 다음 레벨 1
반환
getmetatable
지정된 테이블의 메타테이블을 반환합니다 t 하나가 있는 경우, 그렇지 않으면 일반 반환 하 고 메타메서드 는 t 설정 되 면 해당 값을 반환 합니다.
-- getmetitable 을 시연합니다.local meta = {}local t = setmetatable({}, meta)print(getmetatable(t) == meta) --> 예-- __metable 메타메서드를 설정하여 원래 메타테이블을 복구 불가능하게 만듭니다.meta.__metatable = "protected"print(getmetatable(t)) --> protected
매개 변수
메이널 테이블을 가져올 개체입니다.
반환
ipairs
반복기 함수, 테이블 t 및 숫자 0 를 반환합니다. 반복기 함수가 호출될 때마다 테이블에서 다음 숫자 인덱스 값 쌍을 반환합니다. 제네릭 반복 루프에서 사용할 때 반환 값을 반복할 수 있습니다:
local fruits = {"apples", "oranges", "kiwi"}for index, fruit in ipairs(fruits) doprint(index, fruit) --> 1개의 사과, 2개의 오렌지, 3개의 키위 등...end
매개 변수
반복해야 하는 요소가 있는 테이블.
loadstring
문자열에서 Lua 코드를 로드하고 함수로 반환합니다.
일반 Lua 5.1과 달리 Roblox의 Lua는 loadstring() 를 사용하여 바이너리 버전의 Lua를 로드할 수 없습니다.
loadstring()은 기본적으로 비활성화되어 있습니다. 활성화 방법에 대한 지침은 ServerScriptService를 참조하십시오.
경고: 이 메서드는 반환된 함수에서 일부 Luau 최적화를 비활성화합니다. 사용자가 경험에서 코드를 실행할 수 있도록 허용하려면 loadstring() 를 사용하는 경우
매개 변수
반환
next
배열에서 첫 번째 키/값 쌍을 반환합니다. lastKey 인수가 지정된 경우 배열에 있는 다음 요소를 기반으로 키를 제공한 다음 요소를 배열에 반환합니다. 인덱스는 열거 순서가 지정되지 않습니다. 심지어 숫자 인덱스의 경우 루프 또는
다음의 동작은 트래버스 중에 테이블의 기존 필드에 값을 할당하지 않으면 정의되지 않습니다. 하지만 기존 필드를 수정할 수 있습니다. 특히 기존 필드를 지우는 수도 있습니다.
매개 변수
횡단할 배열.
이전에 호출한 키를 다음에 검색합니다.
반환
모든 수의 인수를 받고 출력에 값을 출력합니다. print 은 형식화된 출력을 위한 것이 아니라 단지 값을 표시하는 빠른 방법을 위한 것입니다, 일반적으로 디버
매개 변수
출력할 모든 인수 값.
반환
rawget
메타메서드를 호출하지 않고 table[index] 의 실제 값을 가져옵니다.
매개 변수
참조할 테이블입니다.
t 에서 가져오는 인덱스입니다.
반환
require
제공된 ModuleScript 을 실행하고 제공된 ModuleScript
위에서 설명한 대로 "개체 공유" 동작은
또한 사용자가 원하는 ModuleScript 가 Roblox에 업로드되었으면 Roblox(MainModule라는 인스턴스 이름)에서 require() 함수를 사용하여 자산 ID의 2>Class.ModuleScript2> 에서 로드할 수 있지만, 서버에서만
매개 변수
Class.ModuleScript 이 제공하는 반환 값을 검색하도록 실행될 예정입니다.
반환
Class.ModuleScript 반환(일반적으로 테이블 또는 함수)
select
인수 번호 index 후에 모든 인수를 반환합니다. 부정적인 경우 인수 목록의 끝에서 반환됩니다.
print(select(2, "A", "B", "C")) --> B Cprint(select(-1, "A", "B", "C")) --> C
index 인수가 "#" 이 되면 반환 후 패스된 인수의 수입니다.
print(select("#", "A", "B", "C")) --> 3
매개 변수
# 이후에 모든 인수를 반환하는 인덱스입니다. 이 인수가 설정된 경우 "#" 이후에 패스된 인수의 수입니다.
인수 집합.
반환
setmetatable
지정된 테이블에 대한 메타테이블을 t로 설정합니다. 만약 newMeta가 0이면 newMeta의 메타테이블이 제거됩니다. 마지막
local meta = {__metatable = "protected"}local t = {}setmetatable(t, meta) -- 이렇게 하면 t의 메타테이블이 설정됩니다.-- 이제 테이블, t, 메타테이블이 있습니다. 만약 우리가 그것을 변경하려고 한다면...setmetatable(t, {}) --> Error: cannot change a protected metatable
매개 변수
메타테이블을 설정하는 테이블.
일치하는 테이블 메타테이블을 제거하면 됩니다. 그렇지 않으면 지정된 테이블의 메타테이블을 설정합니다.
반환
tonumber
지정된 기반으로 숫자로 변환하려는 시도는 해석할 값을 반환하지 못하는 경우가 있습니다. 변환할 수 없으면 이 함수는 null을 반환합니다.
기본 값은 2에서 36 사이의 모든 정수입니다. 기본 값은 10 이상의 경우 문자 'A' (위쪽 또는 아래쪽 케이스)가 10을 나타내고, 나머지는 'B'가 나타냅니다. 기타 값은 'Z'가 35를 나타냅니다. 기본 값에는 소수 부분
기본 문자열이 0x 와 시작하고 기본 베이스가 제공되지 않으면 0x 이 잘리고 기본 베이스가 16개 또는 16진수로 나눔을 가정합니다.
print(tonumber("1337")) --> 1337(기본 10, 소수 자릿수 예상)print(tonumber("1.25")) --> 1.25(기본 10 소수 부분이 있을 수 있습니다)print(tonumber("3e2")) --> 300(기본 10의 경우 부동 소수점 부분, 3 × 10 ^ 2)print(tonumber("25", 8)) --> 21(기본 8, 8비트)print(tonumber("0x100")) --> 256(기본 16, 육각 소수점 지원)print(tonumber("roblox")) --> nil(오류를 발생시키지 않음)-- 팁: 잘못 변환할 수 없는 숫자를 올려야 하는 경우 부울을 사용하세요print(assert(tonumber("roblox"))) --> Error: assertion failed
매개 변수
변환할 개체를 지정합니다.
arg를 number1로 변환하는 숫자 기반입니다.
반환
tostring
모든 유형의 인수를 받고 합리적인 형식으로 문자열로 변환합니다. 숫자를 전환하는 방법에 대한 자세한 내용은 문자열.format 를 사용하십시오. e의 메타 메서드가 __tostring 이면 결과를 e 만 반환하고 메서드를
local isRobloxCool = true-- Boolean을 문자열로 변환한 다음 콘센트:print("Roblox is cool: " .. tostring(isRobloxCool)) --> Roblox is cool: true
매개 변수
변환할 문자열 개체입니다.
반환
속성
_G
같은 컨텍스트 레벨모든 스크립트 간에 공유되는 테이블입니다.
_VERSION
현재 해석기 버전을 포함하는 문자열을 포함하는 전역 변수(함수가 아님).