Lua Globals
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Berikut adalah daftar fungsi dan variabel yang bersifat natif Lua. Fungsi-fungsi ini dapat digunakan dalam instalasi standar Lua 5.1.4, meskipun ada beberapa perbedaan dalam cara kerja beberapa dari ini di Roblox.
Rangkuman
Fungsi
Mengemudi kesalahan jika value yang disediakan menyelesaikan menjadi false atau nil.
Menghentikan eksekusi thread dan melemparkan kesalahan.
Mengembalikan total ukuran memori dalam kilobyte.
Mengembalikan tabel metabel yang diberikan.
Mengembalikan fungsi iterator dan tabel untuk digunakan dalam for loop.
Mengembalikan kode yang diberikan sebagai fungsi yang dapat dieksekusi.
Menciptakan userdata kosong, dengan opsi agar memiliki tabel meta.
Fungsi iterator untuk digunakan dalam loop.
Mengembalikan fungsi innovator dan tabel yang disediakan untuk digunakan dalam for loop.
Melakukan fungsi yang disediakan dan menangkap kesalahan yang dilewatkan, mengembalikan kesuksesan fungsi dan hasilnya.
Mencetak semua nilai yang disediakan ke output.
Mengembalikan apakah v1 sama dengan v2, mengabaikan metode mereka.
Mendapatkan nilai nyata dari table[index] , dengan mengabaikan metametode apa pun.
Mengembalikan panjang string atau tabel, mengabaikan metametode apa pun.
Tetapkan nilai nyata dari table[index] , dengan mengabaikan metametode apa pun.
Mengembalikan nilai yang dihasilkan olehModuleScript yang diberikan, mengeksekusinya jika belum dijalankan.
Mengembalikan semua argumen setelah diberikan indeks.
Tetapkan tabel yang diberikan metabel.
Mengembalikan nilai yang diberikan diubah menjadi angka, atau nol jika tidak mungkin.
Mengembalikan nilai yang diberikan diubah menjadi string, atau nol jika tidak mungkin.
Mengembalikan jenis dasar dari objek yang disediakan.
Mengembalikan semua elemen dari daftar yang diberikan sebagai tuple.
Mirip dengan pcall() kecuali menggunakan penangani kesalahan khusus.
Fungsi
assert
Mengembalikan kesalahan jika value yang disediakan adalah false atau nil. Jika afirmasi berhasil, itu mengembalikan semua nilai yang dilewati kepadanya.
local product = 90 * 4assert(product == 360, "Oh dear, multiplication is broken")-- The line above does nothing, because 90 times 4 is 360
Parameter
Nilai yang akan dianggap bersalah terhadap.
Teks yang akan ditunjukkan dalam kesalahan jika afirmasi gagal.
Memberikan nilai
error
Mengakhiri fungsi terlindungi terakhir yang dipanggil dan menghasilkan message sebagai pesan kesalahan. Jika fungsi yang mengandung kesalahan tidak dipanggil dalam fungsi terlindungi seperti pcall(), maka script yang memanggil fungsi akan berakhir. Fungsi kesalahan sendiri tidak pernah kembali dan bertindak seperti kesalahan script.
Argumen level menentukan cara mendapatkan posisi kesalahan. Dengan level 1 (yang default), posisi kesalahan adalah di mana fungsi kesalahan dipanggil. Level 2 menunjukkan posisi kesalahan di mana fungsi kesalahan yang memanggil kesalahan dapat dikalahkan; dan begitu seterusnya. Menyebutkan tingkat 0
Parameter
Memberikan nilai
getmetatable
Mengembalikan tabel metabel yang diberikan t jika memilikinya, atau nol. Jika t memiliki tabel metabel, dan metode metabel __metatable telah atur, maka mengembalikan nilai tersebut.
-- Tunjukkan getmetatable:local meta = {}local t = setmetatable({}, meta)print(getmetatable(t) == meta) --> benar-- Buat metabel asli tidak dapat dipulihkan dengan mengatur metode metabel __:meta.__metatable = "protected"print(getmetatable(t)) --> protected
Parameter
Objek untuk mengambil tabel metabel.
Memberikan nilai
ipairs
Mengembalikan tiga nilai: fungsi iterator, tabel t dan nomor 0 . Setiap kali fungsi iterator dipanggil, itu akan mengembalikan pas nilai indeks numerik berikutnya dalam tabel. Saat digunakan dalam for-loop generik, nilai kembali dapat digunakan untuk mengiterasi setiap nilai indeks numerik dalam tabel:
local fruits = {"apples", "oranges", "kiwi"}for index, fruit in ipairs(fruits) doprint(index, fruit) --> 1 apel, 2 buah orange, 3 kiwi, dllend
Parameter
Tabel yang elemennya harus diulang.
loadstring
Memuat kode Lua dari string dan mengembalikannya sebagai fungsi.
Tidak seperti Lua standar 5.1, Lua Roblox tidak dapat memuat versi biner Lua menggunakan loadstring() .
loadstring() dinonaktifkan secara default. Untuk panduan tentang cara mengaktifkannya, lihat ServerScriptService .
PERINGATAN: Metode ini menonaktifkan beberapa optimasi Luau pada fungsi yang dikembalikan. Sebaiknya berhati-hati saat menggunakan loadstring() ; jika niat Anda adalah untuk memungkinkan pengguna untuk mengeksekuskan kode
Parameter
Memberikan nilai
next
Mengembalikan pasangan kunci/nilai pertama dalam array. Jika argumen lastKey ditentukan maka mengembalikan elemen berikutnya dalam array berdasarkan kunci yang disediakan. Ordo dalam daftar diurutkan tidak ditentukan, bahkan untuk indeks numerik. Untuk menyeberangi tabel dalam urutan numerik, gunakan angka untuk loop atau ipairs.
Perilaku berikutnya tidak di definisi jika, selama traversal, Anda menetapkan nilai apa pun ke field non-eksistensi di tabel. Anda dapat, however, mengubah field yang sudah ada. Khususnya, Anda dapat menghapus field yang sudah ada.
Parameter
Array untuk dilewati.
Kunci terakhir yang diambil sebelumnya dari panggilan ke berikutnya.
Memberikan nilai
pairs
Mengembalikan fungsi iterator, tabel yang dilewati t , dan nil , sehingga konstruksi akan beriterasi di semua pasangan kunci/nilai dari tabel itu saat digunakan dalam loop umum for :
local scores = {["John"] = 5,["Sally"] = 10}for name, score in pairs(scores) doprint(name .. " has score: " .. score)end
Parameter
Tabel array atau dictionary untuk diulang.
pcall
Memanggil fungsi func dengan argument yang diberikan dalam mode terlindung. Ini berarti bahwa kesalahan apa pun di dalam func tidak diperluas; sebaliknya, pcall()</
Parameter
Memberikan nilai
Menerima argumen apa pun, dan mencetak nilainya ke output. print bukan dimaksudkan untukOutput berbentuk, tetapi hanya sebagai cara cepat untuk menunjukkan nilai, biasanya untuk debugging. UntukOutput berbentuk, gunakan Library.string.
Parameter
Jumlah argumen yang akan diOutput.
Memberikan nilai
rawget
Mendapatkan nilai nyata dari table[index] , tanpa mengecualikan metode metametode apa pun.
Parameter
Tabel yang akan diacak.
Indeks untuk mendapatkan dari t .
Memberikan nilai
rawset
Tetapkan nilai nyata dari table[index] ke nilai value yang diberikan tanpa memanggil metode metametode apa pun.
Parameter
Tabel yang akan diacak.
Indeks untuk diatur dalam t ke nilai tertentu value. Harus berbeda dari nol.
Nilai yang akan ditetapkan ke index index di tabel.
Memberikan nilai
require
Melalui Run ModuleScript dan
Seperti yang disebutkan di atas, perilaku "bagikan objek"
Juga perhatikan bahwa jika ModuleScript yang diinginkan pengguna untuk dijalankan telah diunggah ke Roblox (dengan nama kejadianmenjadi MainModule), itu dapat dimuat dengan menggunakan fungsi require() pada ID aset Class.ModuleScript , meskipun h
Parameter
Class.ModuleScript yang akan dijalankan untuk mengambil nilai kembali yang ditawarkannya.
Memberikan nilai
Apa yang dikembalikan ModuleScript ( biasanya tabel atau fungsi).
select
Mengembalikan semua argumen setelah nomor argumen index. Jika negatif, itu akan kembali dari akhir daftar argumen.
print(select(2, "A", "B", "C")) --> B Cprint(select(-1, "A", "B", "C")) --> C
Jika argumen index ditetapkan ke "#", jumlah argumen yang dilewati setelah dikembalikan.
print(select("#", "A", "B", "C")) --> 3
Parameter
Indeks dari argument untuk mengembalikan semua argument setelah ini args. Jika diatur ke "#", jumlah argument yang dilewati setelah dikembalikan.
Sebuah tutorial argumen.
Memberikan nilai
setmetatable
Tetapkan tabel metabel untuk tabel yang diberikan t ke newMeta . Jika newMeta adalah nol, tabel metabel 1> t1> di
local meta = {__metatable = "protected"}local t = {}setmetatable(t, meta) -- Ini menetapkan metabel t-- Sekarang kita memiliki tabel, t, dengan metabel. Jika kita mencoba untuk mengubahnya ...setmetatable(t, {}) --> Error: cannot change a protected metatable
Parameter
Tabel untuk menetapkan metabel.
Jika nol, metabel tabel yang diberikan dihapus. Jika tidak, metabel untuk disetel untuk tabel yang diberikan t.
Memberikan nilai
tonumber
Upaya untuk mengubah arg menjadi angka dengan basis yang ditentukan untuk menafsirkan nilai dalam. Jika tidak dapat dikonversi, fungsi ini kembali nil.
Dasar dapat menjadi angka apa pun antara 2 dan 36, termasuk. Dalam dasar di atas 10, huruf 'A' (dalam kasus atas atau bawah) mewakili 10, 'B' mewakili 11, dan seterusnya, dengan 'Z' mewakili 35. Di dasar 10 (yang default), hanya angka bertanda desimal juga dapat diterima.
Jika string dimulai dengan 0x dan base tidak diberikan, 0x diotrime dan base dianggap 16, atau hexadecimal.
print(tonumber("1337")) --> 1337 (mengambil dasar 10, desimal)print(tonumber("1.25")) --> 1.25 (base 10 dapat memiliki bagian desimal)print(tonumber("3e2")) --> 300 (base 10 dapat memiliki bagian eksponensi, 3 & kali; 10 ^ 2)print(tonumber("25", 8)) --> 21 (base 8, octal)print(tonumber("0x100")) --> 256 (mengambil dasar 16, hexadecimal)print(tonumber("roblox")) --> nol (tidak menimbulkan kesalahan)-- Tip: gunakan dengan menyatakan jika Anda ingin mengubah angka yang tidak dapat dikonversi menjadi kesalahanprint(assert(tonumber("roblox"))) --> Error: assertion failed
Parameter
Objek untuk dikonversi menjadi angka.
Dasar numerik untuk mengubah arg menjadi.
Memberikan nilai
tostring
Menerima argumen dari setiap jenis dan mengubahnya menjadi string dalam format yang masuk akal. Untuk mengontrol sepenuhnya bagaimana angka dikonversi, gunakan string.format. Jika metabel e memiliki metametode __tostring, maka akan dipanggil dengan e sebagai satu-satunya hasildan akan mengembalikan has
local isRobloxCool = true-- Konversi boole menjadi string lalu gabungkan:print("Roblox is cool: " .. tostring(isRobloxCool)) --> Roblox is cool: true
Parameter
Objek untuk dikonversi menjadi string.
Memberikan nilai
type
Mengembalikan jenis argument uniknya, dikode sebagai string. Hasil kemungkinan dari fungsi ini adalah "nil" (string, bukan nil nil), "number", "string", "Boolean", "table", " vector", "function", "Thread", dan "userdata".
Parameter
Objek untuk mengembalikan jenis.
Memberikan nilai
unpack
Mengembalikan elemen dari tabel yang diberikan. Secara default, i adalah 1 dan j adalah panjang list, seperti yang ditentukan oleh operer panjang.
Parameter
Memberikan nilai
xpcall
Fungsi ini mirip dengan pcall(), kecuali Anda dapat mengatur pengelola kesalahan baru.
xpcall() memanggil fungs
Parameter
Memberikan nilai
Properti
_G
Tabel yang dibagikan di antara semua skrip levelkonteks yang sama.
_VERSION
Variabel global (bukan fungsi) yang berisi string yang berisi versi interpretor saat ini.