Lua Globals

Tampilkan yang Tidak Digunakan Lagi

*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

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

    Mengemudi kesalahan jika value yang disediakan menyelesaikan menjadi false atau nil.

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

    Menghentikan eksekusi thread dan melemparkan kesalahan.

  • Mengembalikan total ukuran memori dalam kilobyte.

  • getmetatable(t : Variant):Variant

    Mengembalikan tabel metabel yang diberikan.

  • Mengembalikan fungsi iterator dan tabel untuk digunakan dalam for loop.

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

    Mengembalikan kode yang diberikan sebagai fungsi yang dapat dieksekusi.

  • newproxy(addMetatable : boolean):userdata

    Menciptakan userdata kosong, dengan opsi agar memiliki tabel meta.

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

    Fungsi iterator untuk digunakan dalam loop.

  • Mengembalikan fungsi innovator dan tabel yang disediakan untuk digunakan dalam for loop.

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

    Melakukan fungsi yang disediakan dan menangkap kesalahan yang dilewatkan, mengembalikan kesuksesan fungsi dan hasilnya.

  • print(params : Tuple):()

    Mencetak semua nilai yang disediakan ke output.

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

    Mengembalikan apakah v1 sama dengan v2, mengabaikan metode mereka.

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

    Mendapatkan nilai nyata dari table[index] , dengan mengabaikan metametode apa pun.

  • Mengembalikan panjang string atau tabel, mengabaikan metametode apa pun.

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

    Tetapkan nilai nyata dari table[index] , dengan mengabaikan metametode apa pun.

  • require(module : ModuleScript):Variant

    Mengembalikan nilai yang dihasilkan olehModuleScript yang diberikan, mengeksekusinya jika belum dijalankan.

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

    Mengembalikan semua argumen setelah diberikan indeks.

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

    Tetapkan tabel yang diberikan metabel.

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

    Mengembalikan nilai yang diberikan diubah menjadi angka, atau nol jika tidak mungkin.

  • tostring(e : Variant):string

    Mengembalikan nilai yang diberikan diubah menjadi string, atau nol jika tidak mungkin.

  • type(v : Variant):string

    Mengembalikan jenis dasar dari objek yang disediakan.

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

    Mengembalikan semua elemen dari daftar yang diberikan sebagai tuple.

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

    Mirip dengan pcall() kecuali menggunakan penangani kesalahan khusus.

Properti

  • Tabel yang dibagikan di antara semua skrip levelkonteks yang sama.

  • Variabel global yang berisi string yang berisi versi interpretor saat ini.

Fungsi

assert

Variant

Mengembalikan kesalahan jika value yang disediakan adalah false atau nil. Jika afirmasi berhasil, itu mengembalikan semua nilai yang dilewati kepadanya.


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

Parameter

value: Variant

Nilai yang akan dianggap bersalah terhadap.

errorMessage: string

Teks yang akan ditunjukkan dalam kesalahan jika afirmasi gagal.

Nilai Default: assertion failed!

Memberikan nilai

Variant

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

message: string

Pesan kesalahan untuk ditampilkan.

level: number

Tingkat informasi yang harus dicetak. Standar untuk 1.

Nilai Default: 1

Memberikan nilai

()

gcinfo

Mengembalikan total ukuran memori dalam kilobyte. Angka ini mencerminkan konsumsi memori sebenarnya dari perspektif sistem operasi, yang bervariasi saat pengumpul sampah menyebarkan objek.

Memberikan nilai

getmetatable

Variant

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

t: Variant

Objek untuk mengambil tabel metabel.

Memberikan nilai

Variant

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) do
print(index, fruit) --> 1 apel, 2 buah orange, 3 kiwi, dll
end

Parameter

Tabel yang elemennya harus diulang.

Memberikan nilai

loadstring

Variant

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

contents: string

String yang ditentukan untuk diunduh sebagai kode Lua.

chunkname: string

Nama bagian opcional untuk pesan kesalahan dan informasi debug. Jika tidak ditentukan, Lua menggunakan string contents.

Memberikan nilai

Variant

newproxy

Menciptakan userdata kosong, dengan opsi agar memiliki tabel meta.

Parameter

addMetatable: boolean
Nilai Default: false

Memberikan nilai

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) do
print(name .. " has score: " .. score)
end

Parameter

Tabel array atau dictionary untuk diulang.

Memberikan nilai

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

func: function

Fungsi yang harus dipanggil dalam mode terlindung.

args: Tuple

Argumen untuk dikirim ke func saat mengeksekusi.

Memberikan nilai

Variant

print

()

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

params: Tuple

Jumlah argumen yang akan diOutput.

Memberikan nilai

()

rawequal

Memeriksa apakah v1 sama dengan v2 , tanpa mengeksekusuti metode metametode apa pun.

Parameter

v1: Variant

Variabel pertama untuk dibandingkan.

v2: Variant

Variabel kedua untuk dibandingkan.

Memberikan nilai

rawget

Variant

Mendapatkan nilai nyata dari table[index] , tanpa mengecualikan metode metametode apa pun.

Parameter

Tabel yang akan diacak.

index: Variant

Indeks untuk mendapatkan dari t .

Memberikan nilai

Variant

rawlen

Mengembalikan panjang string atau tabel, tanpa memanggil metode metametode apa pun.

Parameter

Tabel yang akan diacak.

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.

index: Variant

Indeks untuk diatur dalam t ke nilai tertentu value. Harus berbeda dari nol.

value: Variant

Nilai yang akan ditetapkan ke index index di tabel.

Memberikan nilai

require

Variant

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

module: ModuleScript

Class.ModuleScript yang akan dijalankan untuk mengambil nilai kembali yang ditawarkannya.

Memberikan nilai

Variant

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 C
print(select(-1, "A", "B", "C")) --> C

Jika argumen index ditetapkan ke "#", jumlah argumen yang dilewati setelah dikembalikan.


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

Parameter

index: Variant

Indeks dari argument untuk mengembalikan semua argument setelah ini args. Jika diatur ke "#", jumlah argument yang dilewati setelah dikembalikan.

args: Tuple

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.

newMeta: Variant

Jika nol, metabel tabel yang diberikan dihapus. Jika tidak, metabel untuk disetel untuk tabel yang diberikan t.

Memberikan nilai

tonumber

Variant

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 kesalahan
print(assert(tonumber("roblox"))) --> Error: assertion failed

Parameter

arg: Variant

Objek untuk dikonversi menjadi angka.

base: number

Dasar numerik untuk mengubah arg menjadi.

Nilai Default: 10

Memberikan nilai

Variant

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

e: Variant

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

v: Variant

Objek untuk mengembalikan jenis.

Memberikan nilai

unpack

Variant

Mengembalikan elemen dari tabel yang diberikan. Secara default, i adalah 1 dan j adalah panjang list, seperti yang ditentukan oleh operer panjang.

Parameter

list: table

Daftar elemen untuk dibuka kembali.

Indeks elemen pertama untuk dibuka kembali.

Nilai Default: 1

Indeks dari elemen terakhir untuk dibuka kembali.

Nilai Default: #list

Memberikan nilai

Variant

xpcall

Fungsi ini mirip dengan pcall(), kecuali Anda dapat mengatur pengelola kesalahan baru.

xpcall() memanggil fungs

Parameter

Fungsi yang harus dipanggil dalam mode terlindung.

Fungsi yang akan digunakan sebagai penanganan kesalahan jika xpcall menangkap kesalahan.

args: Tuple

Memberikan nilai

Variant

Properti

Tabel yang dibagikan di antara semua skrip levelkonteks yang sama.

_VERSION

Variabel global (bukan fungsi) yang berisi string yang berisi versi interpretor saat ini.