ModuleScript

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

A ModuleScript は、require() による呼び出しで正確に 1つの値を返すスクリプトタイプです。ModuleScripts ルアウ環境ごとに一度だけ実行し、次の呼び出しに同じ値を返す require()

ModuleScripts は「自分を繰り返さない」(DRY) 原則に従うための必須のオブジェクトであり、1度だけ機能を書き、どこでも使用できます。機能の複数のコピーを持つことは、その動作を変更する必要があるときに問題があるため、 で機能または機能グループを定義し、それらのモジュールで と の呼び出しを行う必要があります。

返り値が ModuleScripts から Scripts および LocalScripts と独立していることを知ることは重要です。コマンドバー のような他の環境も含まれます。クライアント上でコードを実行するには、require() を使用して、ModuleScript 内の LocalScript でも、Script がすでにサーバー上でそうしていても、コードを実行します。ため、クライアントとサーバーの両方で ModuleScript を使用しているか、または Studio 内でデバッグしている場合は注意してください。

最初の require() への呼び出しは、ModuleScript が生成しない限り、task.wait() が生成しない限り、現在のスレッドが require() を返すまで生成しないことに注意してください。この場合、ModuleScript が値を返すまで、現在のスレッドが生成します。If a が別の を試みている場合、スレッドは を持続し、停止しない (サイクリック 呼び出しはエラーを生成しません)。大規模プロジェクトでモジュールの依存関係に注意してください!

Roblox に ModuleScript がアップロードされ、ルートモジュールの名前が MainModule に設定されている場合、モデルとしてアップロードし、モデルのアセットIDで require() を使用する必要があります。その後、このロジックはサーバーでのみ動作し、クライアントでエラーが発生しますが、エクスペリエンスにロードできます。他のユーザーがモジュールを使用したい場合、公開でなければなりません。

コードサンプル

コードサンプルは、空のテーブルを持つローカル変数を作成して開始します。それから、2つのプレースホルダー機能でテーブルを満たし、最後にテーブルを返します。モジュールスクリプトでこのコードを使用すると、my_functions テーブル (およびその内のすべての機能、テーブル、またはその他の値) が任意のスクリプト、ローカルスクリプト、または他のモジュールスクリプトにアクセス可能になります。

シンプルモジュールスクリプトの例

-- テーブルは 1つの変数に複数の値を保存します
local MyFunctions = {}
-- テーブルにいくつかの機能を追加
function MyFunctions.foo()
print("Foo!")
end
function MyFunctions.bar()
print("Bar!")
end
-- モジュールスクリプトは、正確に 1つの値を返す必要があります
return MyFunctions

This code sample shows how to use the require function on a ModuleScript, then use the value that it returned. See the "Simple ModuleScript Example" for the code to go with this sample.

Simple ModuleScript Usage

-- The require function is provided a ModuleScript, then runs
-- the code, waiting until it returns a singular value.
local MyFunctions = require(script.Parent.MyFunctions)
-- These are some dummy functions defined in another code sample
MyFunctions.foo()
MyFunctions.bar()

プロパティ

Source

並列読み取り
プラグインのセキュリティ
OpenCloud セキュリティ

実行するコード。

ユーザーが開いているスクリプトを読んだり変更したい場合は、代わりに ScriptEditorService を使用してスクリプトエディタと対話することを検討してください。

方法

イベント