1
私はこのような月のスクリプトコード持っている:luaのmoonscriptから関数を呼び出す方法は?
hello = (name) ->
print "Hello #{name}!"
をと私はそのような何かをすべきかmoonscript.loadfile
を使用して私のLuaのコードでそれを使用したいですか?
私はこのような月のスクリプトコード持っている:luaのmoonscriptから関数を呼び出す方法は?
hello = (name) ->
print "Hello #{name}!"
をと私はそのような何かをすべきかmoonscript.loadfile
を使用して私のLuaのコードでそれを使用したいですか?
MoonScriptコードはLuaにコンパイルされるので、あなたが書いた関数は実際には実行時のLua関数です。
Luaの中で、それへのアクセスを取得するには、いくつかの方法があります。
moonc
コマンドラインツールを使用して、事前にファイルをコンパイルします。これにより、他のLuaファイルと同様にロードできる.lua
ファイルが得られます。moonscript.loadfile
はより低いレベルの関数です。特に必要な場合を除き、使用することはお勧めしません。最も簡単な方法は、あなたのプログラムでrequire "moonscript"
を呼び出すことです.Luaのrequire
関数は、MoonScriptファイルを直接読み込むことができるように拡張されています。 Compiler API reference pageにはさらに詳しい情報があります。別のファイルに機能がある場合は、モジュールの一部としてそれらをエクスポートする必要があります。これは、モジュールの戻り値を持つことで行います。一般的なパターンは、使用するすべての関数を含むテーブルを返すことです。 MoonScriptでは、ファイルの最後の行が自動的にreturn文に変換されます。代入は返されませんので、あなたのモジュールを次のように構造化することをお勧めします:
hello = (name) ->
print "Hello #{name}!"
{:hello}