Lua文法小贴士(十二)loadstringとloadfile


Luaではloadstringを使用してluaスクリプトを含む文字列をロードできます.
例:
local str = "print('TestLoadingString') return 1234"
local func = loadstring(str)
print(func())

文字列にはfunction()endに囲まれていませんが、loadstringがロードされているのは関数です.
これはパラメータのない関数です.パラメータを追加する必要がある場合は、次のようにします.
local fmtStr = "local a='%d' print(a)"
local fmtFunc = loadstring(string.format(fmtStr, 9999))
fmtFunc()

あるいは、
local fmtParamStr = "return function(s,x) print(s..x) end"
local fmtParamFunc = loadstring(fmtParamStr)()
fmtParamFunc("test parameters", "666")

コンフィギュレーションテーブルで数式をカスタマイズする必要がある場合は、loadstringが使いやすいかもしれません.
Luaにはloadfileも使用でき、luaファイルをロードできます.
(個人的にはあまり意味がないような気がします)
例えばファイルでluaに追加:
print("TestFileLoading")

return true

では、別のluaファイルで呼び出すことができます.
print(loadfile("TestLoading.lua")())