Lua モジュールの使用方法を学ぼうとしています。次のマニュアルを読んでいます。
http://lua-users.org/wiki/ModulesTutorial
残念ながら、最初の例を機能させることさえできません! 私は次のことをしました:
次のような「mymodule.lua」ファイルを作成しました。
local mymodule = {}
function mymodule.foo()
print("Hello World!")
end
return mymodule
次に、コマンドラインから、 mymodule.lua ファイルが存在するフォルダー内で、次のことを試みました。
mymodule = require "mymodule"
しかし、次のエラー メッセージが表示されます。
myserver:/usr/share/x/research/# mymodule = require "mymodule"
-ash: mymodule: not found
これは機能します:
myserver:/usr/share/x/research/# local mymodule = require "mymodule"
しかし、foo() メソッドを実行しようとすると、次のように失敗します。
myserver:/usr/share/x/research/# mymodule.foo()
-ash: syntax error: bad function name
myserver:/usr/share/x/research/#
コマンドラインで mymodule をグローバルではなくローカルとして宣言したため、これは理にかなっていると思います。
私の質問は、コマンドラインでモジュールをグローバルに宣言できない理由だと思います。
マニュアルには、これを「対話型インタープリター」から実行する必要があると書かれています。Linuxで標準のコマンドライン/ターミナルウィンドウを使用しています...これが問題になる可能性はありますか? 通常、すべての lua コマンドの前に「lua」を付ける必要があります。
任意の提案をいただければ幸いです。