我正在考虑移动一个目前嵌入Python解释器的程序来使用Lua.使用Python,它非常容易使用modulefinder,compileall并且zipfile可以创建一个包含所有外部库的漂亮整齐的zip.
Lua是否有能力像这样捆绑其库,或者是否有更好的最佳实践来分发嵌入Lua的程序?
我有一个与OS X的Python.framework链接的应用程序.由于Snow Leopard已升级到Python 2.6,因此该框架现在包含2.4,2.5和2.6版本.我的程序似乎并不想链接2.6,当我尝试使用较新的Python运行时的功能时,这最终会导致错误.
我知道我可以使用install_name_tool在后期构建步骤中更改链接,但有没有办法简单地告诉它在构建期间链接到哪里?看起来像一个非常常见的用例.
我正在尝试使用原始Lua文件进行配置,但不希望配置文件污染全局命名空间.
我遇到的问题dofile似乎总是在真实的全局环境中执行,因此外部文件只是将所有声明都抛入_G.
这是一个示例主文件,注释表明我的一厢情愿.
function myFunc()
print("In the sandbox:")
print("Should be 1:", a) -- falls back to _G for lookup
a = 2 -- instantiating new global for sandbox
print("Should be 2:", a) -- from sandbox
print("Should still be 1:", _G.a) -- from host environment
dofile("loading.lua") -- here's where things go wrong
print "\nBack in the sandbox:"
print("Should be 3:", a) -- changed by loadfile
print("Should STILL be 1:", _G.a) -- unchanged
end
a = 1
local newgt = …Run Code Online (Sandbox Code Playgroud)