同じディレクトリで相互に参照する 2 つのスクリプトがある場合
A/
foo.lua
bar.lua
foo.lua
require "bar"
bar.lua
print "It worked"
その後、同じフォルダーからlua実行可能ファイルを実行すると機能します
cd A; lua foo.lua
しかし、別のフォルダーからインタープリターを実行すると、「モジュール 'バー' が見つかりません」というメッセージが表示されて失敗します
cd A/..; lua A/foo.lua
相対インポートが現在の作業ディレクトリに依存しないようにする方法はありますか? たとえば、バッチ ファイルでは、パスを からの相対パスに設定できますdirname $0
。