Luau globals
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
概要
関数
提供された value が false または nil に解決すると、エラーをスローします。
スレッドの実行を停止し、エラーを発生させます。
キロバイトでの合計メモリヒープサイズを返します。
指定されたテーブルのメタテーブルを返す。
Iterator 関数と for ループで使用するテーブルを返します。
提供されたコードを実行できる機能として返します。
空の userdata を作成し、メタテーブルを持つオプションを持っています。
ループで使用する迭器関数。
Iterator 関数と提供されたテーブルを返し、for ループで使用します。
提供された関数を実行し、それが投げたエラーをキャッチし、関数の成功と結果を返します。
提供されたすべての値を出力に印刷します。
メタメソッドをバイパスして、v1 が v2 と同等かどうかを返します。
すべてのメタメソッドを無視して、table[index] の実際の値を取得します。
メタメソッドを無視して、ストリングまたはテーブルの長さを返します。
メタメソッドを無視して、table[index] の実際の値を設定します。
指定されたモジュールスクリプトによって返された値を返し、まだ実行されていない場合は実行します。
指定されたインデックスの後、すべての引数を返します。
指定されたテーブルのメタテーブルを設定します。
提供された値を数値に変換して返し、または不可能な場合は nil です。
提供された値を文字列に変換して返し、または不可能な場合は nil です。
提供されたオブジェクトの基本型を返します。
指定されたリストからすべての要素をタプルとして返します。
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
パラメータ
主張される値。
主張が失敗した場合に表示されるテキスト
戻り値
error
最後に呼ばれた保護された関数を終了し、message をエラーメッセージとして出力します。エラーが含まれる関数が保護された関数 (例: pcall() ) で呼ばれていない場合、関数を呼んだスクリプトは契約解除します。エラー関数自体は決して返されず、スクリプトエラーのように動作します。
level 引数は、エラーポジションを取得する方法を指定します。レベル 1 (デフォルト) では、エラー位置はエラー関数が呼ばれた場所です。レベル 2 は、エラーを呼び出した関数の場所を指し、などなど。レベル 0 をパスすると、メッセージにエラー位置情報の追加が避けられます。
パラメータ
表示するエラーメッセージ。
印刷される情報レベル。デフォルトは 1 です。
戻り値
getmetatable
指定されたテーブルのメタテーブルを返す t がある場合、そうでない場合は nil を返す。if t にメタテーブルがあり、__metatable のメタメソッドが設設定するされている場合、その値を代わりに返します。
-- getmetatable をデモする:local meta = {}local t = setmetatable({}, meta)print(getmetatable(t) == meta) --> 真-- __metatable メタメソッドを設定して、元のメタテーブルを回復不可能にします:meta.__metatable = "protected"print(getmetatable(t)) --> protected
パラメータ
メタテーブルを取得するオブジェクト。
戻り値
ipairs
3つの値を返します:iterator 機能、テーブル t および数字 0 。Iterator 関数が呼び出されるたびに、テーブルに次の数字インデックス-値ペアが返されます。一般的な forループで使用すると、返却値はテーブルの各数値インデックスを反復するのに使用できます:
local fruits = {"apples", "oranges", "kiwi"}for index, fruit in ipairs(fruits) doprint(index, fruit) --> 1 個のリンゴ、2 個のオレンジ、3 個のキウイなど...end
パラメータ
要素が反復されるテーブル。
loadstring
文字列から Luau コードをロードし、それを機能として返します。
標準の Lua 5.1と異なり、Roblox の Luau は loadstring() を使用してコンパイルされたバイトコードをロードできません。
loadstring() はデフォルトで無効になっています。その有効化に関するガイドは、ServerScriptService を参照してください。
警告: このメソッドは、返された関数の特定の Luau 最適化を無効にします。loadstring() を使用するときは、極めて注意が必要です。ユーザーがエクスペリエンスでコードを実行できるようにする意図がある場合は、getfenv() と setfenv() を使用して、返された関数の環境を保護してください。
パラメータ
戻り値
next
配列の最初のキー/値ペアを返します。lastKey 引数が指定された場合、指定されたキーに基づいてアレイの次の要素を返します。数字インデックスでも、インデックスが列挙される順序は指定されません。数字順にテーブルを移動するには、数値ループまたは ipairs を使用します。
トレバー中に、テーブルの非存在のフィールドに任意の値を割り当てると、次の動作は定義されません。しかし、既存のフィールドを変更することはできます。特に、既存のフィールドをクリアできます。
パラメータ
トレバーする配列。
以前に次への呼び出しから取得された最後のキー。
戻り値
pcall
保護モードで指定された引数を使用して関数を呼び出します func 。これは、func 内のどんなエラーも拡散しないことを意味します;代わりに、pcall() がエラーをキャッチしてステータスコードを返します。最初の結果はステータスコード (ブール) で、エラーなしで呼び出しが成功すると真です。そのような場合、pcall() は、この最初の結果の後、すべての呼び出しの結果を返します。エラーが発生した場合、pcall() はエラーメッセージとともに false を返します。
戻り値
任意の数の引数を受け取り、出力にその値を印刷します。print はフォーマットされた出力の目的ではなく、通常はデバッグ用に、値を表示するための迅速な方法としてのみ使用されます。形式化された出力の場合は、string.format() を使用します。Roblox では、print は tostring を呼び出しませんが、テーブルにメタメソッドがある場合は、__tostring が引き続き発動します。
パラメータ
出力するアルゴリズムの数。Any number of arguments to be outputted.
戻り値
rawget
メタメソッドを呼び出さずに、table[index] の実際の値を取得します。
パラメータ
参照するテーブル。
インデックスを取得するのは t 。
戻り値
require
提供された ModuleScript を実行し、ModuleScript に返されたもの (通常はテーブルまたは関数) を返します。ModuleScript がまだ実行されていない場合、実行されます。
代わりにストリングパスが提供される場合、まず ModuleScript スクリプトによって呼び出された require() の意味を模倣する Luauの require() 式の Unix のような意味に解決されます。たとえば、下の例の各ペアの require() 式には、機能的に同等の呼び出しが 2つ含まれています。
-- "./" は script.Parent と同等ですrequire(script.Parent.ModuleScript)require("./ModuleScript")-- ../" は script.Parent.Parent と同等ですrequire(script.Parent.Parent.ModuleScript)require("../ModuleScript")
特に、require-by-string の解決セミアントは次のとおりです:
- 文字列のパスは、./ または ../ で始まる必要があり、./ は script.Parent と同等、../ は script.Parent.Parent と同等です。
- 解決されたパスが Instance ではない ModuleScript に指している場合、require() は、その ModuleScript に名前が付けられた Init または init 親が存在する Instance を見つけて、それを使用します。それが存在する場合。
- 必要な が呼び出し時に存在しない場合、呼び出しは失敗し、エラーが発生します。言い換えれば、要求-バイ-ストリングは非ブロックです:それは暗示的に ModuleScript が作成されるのを待っていません。
リターンオブジェクトが 初期 require() の ModuleScript 呼び出しによって作成された後、将来の require() 呼び出しは、同じ ModuleScript (クライアントサーバー境界の同じ側面)で再度コードを実行しません。代わりに、最初の 呼び出しによって作成された同じ 返却オブジェクトへの参照が供給されます。この動作により、異なるスクリプト間で値の共有が可能になり、複数の require() 呼び出しが同じ返されたオブジェクトを参照するため、異なるスクリプト間で値が共有されます。返されたオブジェクトがテーブルの場合、テーブル内に保存された値はすべて共有され、ModuleScript が必要なスクリプトによってアクセス可能です。
上記のとおり、「オブジェクト共有」動作は、クライアント-サーバー境界を越えません。これは、ModuleScript がクライアントの **** およびサーバーの ReplicatedStorage にアクセス可能であり、require() が両方の LocalScript から呼び出され、Script が両方の ModuleScript から受け取った返却オブジェクトを別々に受け取ると、LocalScript のコードが2回実行され、Script は受け取った返却オブジェクトを別々に受け取ることを意味します。
また、ユーザーが実行したい が Roblox にアップロードされた場合 (インスタンスの名前は )、アセット ID の 機能を使用してロードできますが、サーバー上でのみです。
パラメータ
提供する返却値を取得するために実行される ModuleScript 、または 1 の参照 (文字列パスまたはアセットID)。
戻り値
ModuleScript が返したもの (通常はテーブルまたは関数)。
select
引数番号 index の後にすべての引数を返します。否定の場合は、引数リストの最後から返します。
print(select(2, "A", "B", "C")) --> B Cprint(select(-1, "A", "B", "C")) --> C
index 引数が "#" に設定されている場合、その後に返された引数の数。
print(select("#", "A", "B", "C")) --> 3
パラメータ
引数をすべて返すインデックスは、args 後にすべての引数を返す argument のインデックスです。それが "#" に設定されている場合、それが返された後にパスされた引数の数。
引数のツープル。
戻り値
setmetatable
指定されたテーブルの metatable を t に設定し、newMeta に変更します。If newMeta が nil である場合、t のメタテーブルが削除されます。最後に、この機能は、パスされたテーブル t を返します。If 既に metatable の メタメソッドが設設定するされている場合、これを呼び出すとエラーが発生します。
local meta = {__metatable = "protected"}local t = {}setmetatable(t, meta) -- これは t のメタテーブルを設定します-- 今、テーブル、t、メタテーブルがあります。それを変更しようとしても...setmetatable(t, {}) --> Error: cannot change a protected metatable
パラメータ
設定するメタテーブルのテーブル。
If nil である場合、指定されたテーブルのメタテーブル t が削除されます。そうでない場合は、指定されたテーブルのメタテーブルを設定します t。
戻り値
tonumber
arg を指定されたベースを使用して数値に変換する試み。変換できない場合、この関数は nil を返します。
ベースは 2 と 36 の間の任意の整数である可能性があります。上記のベースの 10 以上では、「A」(大文字または小文字)は 10 を表し、「B」は 11 を表し、「Z」は 35 を表します。ベース 10 (デフォルト) では、数字には小数部分とオプションの指数部分があり得ます。他のベースでは、署名されていない整数のみが受け入れられます。
文字列が 0x で始まり、ベースが提供されない場合、0x がトリミングされ、ベースは 16、または十六進コードであると想定されます。
print(tonumber("1337")) --> 1337 (ベース 10、10進位を想定)print(tonumber("1.25")) --> 1.25 (ベース 10 には小数部分がある可能性があります)print(tonumber("3e2")) --> 300 (ベース 10 は指数部分を持つ可能性があり、3 × 10 ^ 2)print(tonumber("25", 8)) --> 21 (ベース 8、オクタル)print(tonumber("0x100")) --> 256 (ベース 16、十六進コードを想定)print(tonumber("roblox")) --> nil (エラーを発生させない)-- ヒント: 変換できない数字をエラーに上げたい場合は、ASSERT で使用するprint(assert(tonumber("roblox"))) --> Error: assertion failed
パラメータ
数字に変換するオブジェクト。
arg を変換する数字ベース。
戻り値
tostring
任意のタイプの引数を受け取り、適切な形式の文字列に変換します。数字の変換方法を完全に制御するには、string.format を使用します。e のメタテーブルに __tostring メタメソッドがある場合、唯一の引数として e で呼び出され、結果が返されます。
local isRobloxCool = true-- ブールを文字列に変換して結合する:print("Roblox is cool: " .. tostring(isRobloxCool)) --> Roblox is cool: true
パラメータ
文字列に変換するオブジェクト。
戻り値
xpcall
この機能は pcall() と似ていますが、新しいエラーハンドラーを設定できます。
xpcall() 呼び出し機能 f を保護モードで使用し、エラーハンドラーとして err を使用し、引数のリストをパスします。内部の f のエラーは拡散しません;代わりに、xpcall() がエラーをキャッチし、オリジナルのエラーオブジェクトで err 関数を呼び出し、ステータスコードを返します。最初の結果はステータスコード (ブール) で、エラーなしで呼び出しが成功すると真です。この場合、xpcall() も、この最初の結果の後、すべての呼び出しの結果を返します。エラーの場合、xpcall() は false と err の結果を返します。
pcall() とは異なり、err 関数は、f または debug.info() または debug.traceback() を使用して検査できる機能のスタックトレースを保存します。
戻り値
プロパティ
_G
同じコンテキストレベルのすべてのスクリプトで共有されるテーブル。
_VERSION
グローバル変数 (関数ではない) で、現在のインタープリターバージョンを含む文字列を保持します。