Lua Globals

Hiển Thị Bản Đã Lỗi Thời

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Dưới đây là một danh sách các hàm và biến đổi được tích hợp sẵn trong Lua. Các hàm này có thể được sử dụng trong một cài đặt tiêu chuẩn của Lua 5.1.4, mặc dù có một số khác biệt trong cách mà một số trong những hàm này hoạt động trên Roblox.

Tóm Tắt

Chức Năng

  • assert(value : Variant,errorMessage : string):Variant

    Ném một lỗi nếu cung cấp value được giải quyết thành false hoặc nil .

  • error(message : string,level : number):void

    Ngưng thực thi chuỗi và ném một lỗi.

  • Trả lại tổng kích thước của máy chủ bằng kilobyte.

  • getmetatable(t : Variant):Variant

    Trả lại bảng metatable của table đã được cung cấp.

  • Trả lại một hàm it器 và bảng dữ liệu để sử dụng trong một lượt lặp.

  • loadstring(contents : string,chunkname : string):Variant

    Trả lại mã đã cung cấp như một chức năng có thể được thi hành.

  • newproxy(addMetatable : bool):userdata

    Tạo một userdata trống, với tùy chọn cho nó có một bảng dữ liệu.

  • next(t : table,lastKey : Variant):Variant,Variant

    Một hàm itterator để sử dụng trong các lần lặp.

  • Trả lại một hàm itterator và bảng cung cấp để sử dụng trong một lượt for lặp.

  • pcall(func : function,args : Tuple):bool,Variant

    Chạy các chức năng được cung cấp và bắt lỗi nó ném, trả kết quả của chức năng và kết quả của nó.

  • print(params : Tuple):void

    In tất cả các giá trị đã cung cấp đến kết quả.

  • rawequal(v1 : Variant,v2 : Variant):bool

    Trả lại whether v1 is equal to v2 , bypassing their metamethods.

  • rawget(t : table,index : Variant):Variant

    Lấy giá trị thực tế của table[index] , bỏ qua bất kỳ metamethodes.

  • Trả lại sự dài của chuỗi hoặc bỏ qua bất kỳ phương thức metam.

  • rawset(t : table,index : Variant,value : Variant):table

    Điều chỉnh giá trị thực của table[index] , bỏ qua bất kỳ phương pháp metam.

  • require(module : ModuleScript):Variant

    Trả lại giá trị đã được trả bởi ModuleScript đã được thiết lập, chạy nó nếu nó chưa được thiết lập.

  • select(index : Variant,args : Tuple):Tuple

    Trả lại tất cả các引用 sau khi đã được gọi.

  • setmetatable(t : table,newMeta : Variant):table

    Đặt bảng dữ liệu đã được định dạng.

  • tonumber(arg : Variant,base : number):Variant

    Trả lại giá trị đã được chuyển đổi thành một số, hoặc nil nếu không thể.

  • tostring(e : Variant):string

    Trả lại giá trị đã được chuyển thành một chuỗi, hoặc là nil nếu không thể.

  • type(v : Variant):string

    Trả lại kiểu cơ bản của đối tượng đã cung cấp.

  • unpack(list : table,i : number,j : number):Variant

    Trả lại tất cả các thành phần từ danh sách được cho là một tuần tập.

  • xpcall(f : function,err : function,args : Tuple):bool,Variant

    Gần như pcall() ngoài việc nó sử dụng một nhà xử lý lỗi tùy chỉnh.

Thuộc Tính

  • Một bảng được chia sẻ giữa tất cả các script của cùng một cấp độ ngữ cảnh.

  • Một biến toàn cầu chứa một chuỗi chứa bản hiện tại của người dịch.

Chức Năng

assert

Variant

Ném một lỗi nếu value được cung cấp là false hoặc nil . Nếu lời khẳng định đi qua, nó trả lại tất cả các giá trị đã được cung cấp.


local product = 90 * 4
assert(product == 360, "Oh dear, multiplication is broken")
-- The line above does nothing, because 90 times 4 is 360

Tham Số

value: Variant

Giá trị mà sẽ được tuyên bố chống lại.

errorMessage: string

Văn bản sẽ được hiển thị trong lỗi nếu tuyên bố không thành công.

Giá Trị Mặc Định: assertion failed!

Lợi Nhuận

Variant

error

void

Kết thúc chức năng bảo vệ cuối cùng được gọi và xuất message như một thông điện tin nhắn. Nếu chức năng chứa lỗi không được gọi trong một chức năng được bảo vệ như pcall() , thì script đã gọi chức năng sẽ đình chỉ. Thô

Tham chiếu level đề cập đến cách lấy vị trí lỗi. Với cấp độ 1 (mặc định), vị trí lỗi là nơi mà hàm 0 được gọi. Cấp 2 điều chỉ tham chiếu vị trí lỗi; và như vậ

Tham Số

message: string

Tin nhắc lỗi để hiển thị.

level: number

Cấp độ thông tin in ra. Mặc định là 1.

Giá Trị Mặc Định: 1

Lợi Nhuận

void

gcinfo

Trả lại tổng kích thước bộ nhớ trong kilobytes. Số này phản ánh tốn nhớ tổng cộng của bộ nhớ trong hệ thống, điều này thay đổi theo thời gian khi thu thập rác thảo tự do.

Lợi Nhuận

getmetatable

Variant

Trả lại bảng metable của bảng được cho t nếu nó có một, hoặc trả lại nil nếu nó không có metable. Nếu t có metable, và metamethod __metatable đã được cài đặt, nó sẽ trả lại giá trị đó thay vì trả lại nil.


-- Hiển thị getmetatable:
local meta = {}
local t = setmetatable({}, meta)
print(getmetatable(t) == meta) --> đúng
-- Làm cho metable gốc không thể phục hồi bằng cách cài đặt metamethod metable:
meta.__metatable = "protected"
print(getmetatable(t)) --> protected

Tham Số

t: Variant

Objekt để lấy bảng dữ liệu.

Lợi Nhuận

Variant

ipairs

Trả lại ba giá trị: một hàm it器, bảng t và số 0 . Mỗi lần hàm it器 được gọi, nó sẽ trả lại cặp giá trị thuận số trong bảng. Khi được sử dụng trong một for-oop genéric, giá trị trả lại có thể được sử dụng để itere


local fruits = {"apples", "oranges", "kiwi"}
for index, fruit in ipairs(fruits) do
print(index, fruit) --> 1 táo, 2 cam, 3 kiwi, vv...
end

Tham Số

Một bảng có các thành phần cần được lặp lại.

Lợi Nhuận

loadstring

Variant

Tải mã Lua từ một dòng và trả về nó như một hàm.

Ngoài ra, Lua của Roblox không thể tải bản Lua thông thường bằng cách sử dụng loadstring() .

loadstring() được tắt mặc định. Để biết hướng dẫn về cách bật nó, hãy xem ServerScriptService .

CẢNH BÁO: Phương thức này tắt một số hóa kiểm soát Luau trên chức năng đã trả lại. Đòi hỏi cực đoan cần thiết khi sử dụng loadstring()

Tham Số

contents: string

Chuỗi được chỉ định để được tải như mã Lua.

chunkname: string

Một tên chuỗi bắt buộc cho các thông điệp lỗi và thông tin debug. Nếu không được xác định, Lua sử dụng dòng chuỗi contents.

Lợi Nhuận

Variant

newproxy

Tạo một userdata trống, với tùy chọn cho nó có một bảng dữ liệu.

Tham Số

addMetatable: bool
Giá Trị Mặc Định: false

Lợi Nhuận

Trả lại một hàm itterator, table đã được truyền tnil , so that the construction will iterate over all key/value pairs of that table when used in a generic for loop:


local scores = {
["John"] = 5,
["Sally"] = 10
}
for name, score in pairs(scores) do
print(name .. " has score: " .. score)
end

Tham Số

Một bảng table hoặc dictionary để lặp lại.

Lợi Nhuận

pcall

Gọi hàm func với các argument được đưa trong chế độ bảo vệ. Điều này có nghĩa là bất kỳ lỗi nào trong func

Tham Số

func: function

Hàm để gọi trong chế độ bảo vệ.

args: Tuple

Các引数 để gửi đến func khi thi hành.

Lợi Nhuận

Variant

print

void

Nhận bất kỳ số lượng các引用 được in ra để được trả lại cho đầu ra. print không dành cho các đầu ra được biểu tượng, mà chỉ dành cho

Tham Số

params: Tuple

Bất kỳ số lượng các引数 để được xuất.

Lợi Nhuận

void

rawequal

Kiểm tra xem v1 đã bằng v2 , mà không mời gọi bất kỳ phương thức nào.

Tham Số

v1: Variant

Biến đầu tiên để so sánh.

v2: Variant

Biến thứ hai để so sánh.

Lợi Nhuận

rawget

Variant

Nhận giá trị thực tế của table[index] , mà không mời gọi bất kỳ phương thức metam.

Tham Số

Bảng để tham khảo.

index: Variant

Mục để lấy từ t .

Lợi Nhuận

Variant

rawlen

Trả lại chiều dài của chuỗi hoặc bảng, mà không gọi bất kỳ phương thức nào.

Tham Số

Bảng để tham khảo.

Lợi Nhuận

rawset

Điều chỉnh giá trị thực của table[index] đến một giá trị value được đưa ra, mà không mời gọi bất kỳ phương thức nào.

Tham Số

Bảng để tham khảo.

index: Variant

Chỉ mục để đặt trong t đến một value đã định. Phải khác với nil.

value: Variant

Giá trị được đặt để một giá trị index trong bảng t .

Lợi Nhuận

require

Variant

Kết thúc mô-đun Class.ModuleScript b

Như đã đề cập ở trên, hành vi "

Lưu ý cũng rằng nếu ModuleScript người dùng muốn chạy đã được tải lên Roblox (với tên instância là MainModule), nó có thể được tải bằng cách sử dụng chức năng require()

Tham Số

module: ModuleScript

Các ModuleScript sẽ được thi hành để lấy giá trị trả lại mà nó cung cấp.

Lợi Nhuận

Variant

Những gì ModuleScript đã trả lại (thường là một bảng hoặc một hàm).

select

Trả lại tất cả các引数 sau khi đại diện number index . Nếu âm, nó sẽ trả lại từ cuối danh sách引数.


print(select(2, "A", "B", "C")) --> B C
print(select(-1, "A", "B", "C")) --> C

Nếu index argument được đặt để "#", số lượng argument đã được truyền sau khi nó được trả lại.


print(select("#", "A", "B", "C")) --> 3

Tham Số

index: Variant

Chỉ mục của argument để trả lại tất cả các argument sau đó trong args. Nếu nó được đặt trên "#", số lượng argument đã được truyền sau khi nó được trả lại.

args: Tuple

Một tuỳ tập các lý do.

Lợi Nhuận

setmetatable

Đặt bảng trượt cho bảng được cho t đến newMeta . Nếu newMeta là nil, bảng trượt củ


local meta = {__metatable = "protected"}
local t = {}
setmetatable(t, meta) -- Điều này đặt metatable của t
-- Bây giờ chúng ta có một bảng, t, với một bảng dữ liệu. Nếu chúng ta thử thay đổi nó ...
setmetatable(t, {}) --> Error: cannot change a protected metatable

Tham Số

Bảng để cài đặt bảng dữ liệu.

newMeta: Variant

Nếu là nil, metatable của hàng đã được xóa. Nếu không, metatable để cài đặt cho hàng đã được chỉ định t .

Lợi Nhuận

tonumber

Variant

Các lần thử chuyển arg thành một số với cơ sở được xác định để giải giá trị vào. Nếu nó không thể được chuyển, hàm này trả về nil.

Cơ sở có thể là bất kỳ số nào từ 2 đến 36, bao gồm. Trong các cơ sở trên 10, chữ cái 'A' (ở trên hoặc dưới cái) đại diện cho 10, 'B' đại diện cho 11 và như vậy tiếp tục, với 'Z' đại diện cho 3

Nếu một chuỗi bắt đầu với 0x và một base không được cung cấp, 0x được cắt và base được cho là 16, hoặc hexadecimal.


print(tonumber("1337")) --> 1337 (assume base 10, decimal)
print(tonumber("1.25")) --> 1.25 (cơ sở 10 có thể có các phần thập)
print(tonumber("3e2")) --> 300 (bao gồm phần thưởng của hệ số nhân 10, 3 & times; 10 ^ 2)
print(tonumber("25", 8)) --> 21 (cơ số 8, octal)
print(tonumber("0x100")) --> 256 (đoán cơ số 16, hexadecimal)
print(tonumber("roblox")) --> nil (không nảy sinh lỗi)
-- Mẹo: sử dụng với nhận xét nếu bạn muốn nhận số không thể chuyển đổi để nâng cấp một lỗi
print(assert(tonumber("roblox"))) --> Error: assertion failed

Tham Số

arg: Variant

Đối tượng để chuyển thành một số.

base: number

Cơ số dữ liệu để chuyển đổi arg thành.

Giá Trị Mặc Định: 10

Lợi Nhuận

Variant

tostring

Nhận một biến cố của bất kỳ loại nào và chuyển nó thành một chuỗi trong một格式 hợp lý. Để kiểm soát hoàn toàn cách các số được chuyển, hãy sử dụng格式 hợp lý . Nếu biến đổi của e có một mét phụ


local isRobloxCool = true
-- Chuyển boại thành một chuỗi rồi kết hợp:
print("Roblox is cool: " .. tostring(isRobloxCool)) --> Roblox is cool: true

Tham Số

e: Variant

Đối tượng để được chuyển thành một chuỗi.

Lợi Nhuận

type

Trả lại loại của một trong những引用参考 đơn giản của nó, được mã hóa như một chuỗi. Các kết quả có thể của chức năng này là "nil" (một chuỗi, không phải là giá trị nil), "number", "string", "button", "userdata" và "nhập".

Tham Số

v: Variant

Objekt để trả lại kiểu.

Lợi Nhuận

unpack

Variant

Trả lại các thành phần từ bảng được cung cấp. Bởi mặc định, i là 1 và j là chiều dài của list, như định nghĩa bởi operatore chiều dài.

Tham Số

list: table

Danh sách các thành phần để được giải nén.

Mục lục của thành phần đầu tiên để giải nén.

Giá Trị Mặc Định: 1

Mục lục của thành phần cuối cùng để giải nén.

Giá Trị Mặc Định: #list

Lợi Nhuận

Variant

xpcall

Hàm này giống như pcall() , ngoại trừ việc bạn có thể cài đặt một người điều khiển mới.

xpcall() gọi chứ

Tham Số

Hàm để gọi trong chế độ bảo vệ.

Hành động được sử dụng như một lỗi nếu xpcall bắt một lỗi.

args: Tuple

Lợi Nhuận

Variant

Thuộc Tính

Một bảng được chia sẻ giữa tất cả các script của cùng một cấp độ ngữ cảnh.

_VERSION

Một biến toàn cầu (không phải hàm) lưu trữ một chuỗi chứa bản hiện tại của người dịch.