Lua Globals
*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
Ném một lỗi nếu cung cấp value được giải quyết thành false hoặc nil .
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.
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.
Trả lại mã đã cung cấp như một chức năng có thể được thi hành.
Tạo một userdata trống, với tùy chọn cho nó có một bảng dữ liệu.
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.
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ó.
In tất cả các giá trị đã cung cấp đến kết quả.
Trả lại whether v1 is equal to v2 , bypassing their metamethods.
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.
Điều chỉnh giá trị thực của table[index] , bỏ qua bất kỳ phương pháp metam.
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.
Trả lại tất cả các引用 sau khi đã được gọi.
Đặt bảng dữ liệu đã được định dạng.
Trả lại giá trị đã được chuyển đổi thành một số, hoặc nil nếu không thể.
Trả lại giá trị đã được chuyển thành một chuỗi, hoặc là nil nếu không thể.
Trả lại kiểu cơ bản của đối tượng đã cung cấp.
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.
Gần như pcall() ngoài việc nó sử dụng một nhà xử lý lỗi tùy chỉnh.
Chức Năng
assert
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 * 4assert(product == 360, "Oh dear, multiplication is broken")-- The line above does nothing, because 90 times 4 is 360
Tham Số
Giá trị mà sẽ được tuyên bố chống lại.
Văn bản sẽ được hiển thị trong lỗi nếu tuyên bố không thành công.
Lợi Nhuận
error
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ố
Lợi Nhuận
getmetatable
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ố
Objekt để lấy bảng dữ liệu.
Lợi Nhuận
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) doprint(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.
loadstring
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ố
Lợi Nhuận
next
Trả về cặp chìa khóa/giá trị đầu tiên trong danh sách. Nếu một lastKey argument đã được xác định, thì trả về một mục trong danh sách dựa trên chìa khóa mà cung cấp. The order in which keys are enumerated is not specified, even for numbered indexes. Để traverse a table in numeric order, use a숫 for
Hành vi tiếp theo được xác định nếu, trong quá trình di chuyển, bạn giao một giá trị cho một trường không tồn tại trong bảng. Bạn có thể tùy chỉnh các trường hiện tại. Ví dụ, bạn có thể xóa các trường hiện tại.
Tham Số
Ma trận để đi qua.
Chìa khóa cuối cùng đã được lấy từ một cuộc gọi đến tiếp theo.
Lợi Nhuận
pairs
Trả lại một hàm itterator, table đã được truyền t và nil , 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) doprint(name .. " has score: " .. score)end
Tham Số
Một bảng table hoặc dictionary để lặp lại.
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ố
Bất kỳ số lượng các引数 để được xuất.
Lợi Nhuận
rawget
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.
Mục để lấy từ t .
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.
Chỉ mục để đặt trong t đến một value đã định. Phải khác với nil.
Giá trị được đặt để một giá trị index trong bảng t .
Lợi Nhuận
require
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ố
Các ModuleScript sẽ được thi hành để lấy giá trị trả lại mà nó cung cấp.
Lợi Nhuận
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 Cprint(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ố
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.
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.
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
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ỗiprint(assert(tonumber("roblox"))) --> Error: assertion failed
Tham Số
Đối tượng để chuyển thành một số.
Cơ số dữ liệu để chuyển đổi arg thành.
Lợi Nhuận
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ố
Đối tượng để được chuyển thành một chuỗi.
Lợi Nhuận
unpack
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ố
Lợi Nhuận
Thuộc Tính
_G
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.