ModuleScript

Artık kullanılmayanları göster

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

A ModuleScript bir çağrı ile geri dönen yalnızca bir değer veren bir senaryo türüdür require() .ModuleScripts bir kez Luau çevresinde çalışın ve sadece bir kez ve sonraki çağrılar için aynı değeri require() 'a geri dönün.

ModuleScripts "Kendini Tekrarlama" (DRY) ilkesine uymak için gerekli nesnelerdir, bir kez sadece bir işlev yazmanıza ve her yerde kullanmanıza izin vererek.Bir işlevin çok sayıda kopyasına sahip olmak, davranışlarını değiştirmeniz gerektiğinde sorunludur, bu nedenle işlevleri veya işlev gruplarını ModuleScripts ve Scripts 'de tanımlamanız ve bu modüllerde LocalScripts çağrı require() 'nız gerekir.

Geri dönüş değerlerinin ModuleScripts 'den bağımsız olduğunu ve Scripts ve LocalScripts gibi diğer çevrelerin de olduğunu bilmek önemlidir, örneğin Komut Çubuğu . bir üzerinde kullanmak, bir zaten sunucuda bunu yaptıysa bile, kodu istemci üzerinde çalıştıracaktır.Bu nedenle, aynı anda istemci ve sunucuda bir ModuleScript kullanıyor veya Studio içinde depurmanız durumunda dikkatli olun.

Not that the first call to require() will not yield (halt) unless the ModuleScript produces (calls task.wait() for example), in which case the current thread that called require() will yield until the ModuleScript returns a value.Eğer bir bir başka çalışmaya çalışıyorsa başka bir çalışmaya çalışıyorsa, işlem iptal edilmez ve asla durmaz (döngüsel çağrılar hata yaratmaz).Büyük projelerde modül bağımlılıklarınıza dikkat edin!

Bir ModuleScript Roblox'a yüklendiyse ve kök modülün adı MainModule olarak ayarlanmışsa, bir model olarak yüklenebilir ve modelin varlık kimliği ile require() kullanılarak gerekli olabilir.Sonra deneyiminize yüklenebilir, ancak bu mantık yalnızca sunucuda çalışır ve istemci üzerinde hata oluşur.Diğer kullanıcılar modülü kullanmak istiyorsa, bu herkese açıkolmalıdır.

Kod Örnekleri

The code sample starts by creating a local variable holding an empty table. It then fills the table with two placeholder functions, and then finally returns the table. Using this code in a ModuleScript would make the my_functions table (and thus any functions, tables or other values within it) available to any Script, LocalScript or other ModuleScript.

Simple ModuleScript Example

-- Tables store multiple values in one variable
local MyFunctions = {}
-- Add a few functions to the table
function MyFunctions.foo()
print("Foo!")
end
function MyFunctions.bar()
print("Bar!")
end
-- ModuleScripts must return exactly one value
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()

Özellikler

Source

Paralel oku
Eklenti Güvenliği
OpenCloud Güvenliği

Yürütülecek kod.

Kullanıcının açtığı bir senaryoyu okumak veya değiştirmek istiyorsanız, yerine ScriptEditorService ile Kod Editörü ile etkileşime girmeyi düşünün.

Yöntemler

Etkinlikler