_ENV
目前讨厌使用类。我正在尝试创建一种拉丁类型的 Lua,有些东西不能精确地制作,_ENV
但它的效率要高得多。setfenv
也很不合作。
后续代码不断返回旧attempt to call a nil value
错误。它指定了第 20 行,其中正在检查 loadstring(),第 23 行,它在主块中调用该__latin()
函数。
function __latin(code)
__predecessor = [===[
function typographia(value)
print(value);
end
chorda = {};
chorda.__index = chorda;
function chorda.sub(chorda, cChorda, fChorda)
return string.sub(chorda, cChorda, fChorda);
end
function chorda:sub(chorda, cChorda, fChorda)
return string.sub(chorda, cChorda, fChorda);
end
--[[ define values --]]
_ENV = {salve="Salve, munde!",typographia=typographia,print=print,chorda=chorda,chorda.sub=chorda.sub}; ]===];
__finalizer = __predecessor .. " " .. code;
local status, err = pcall(loadstring(__finalizer));
print(err);
if (err == nil) then loadstring(__finalizer)(); end
end
__latin('typographia(salve); chorda.sub(salve, 1, 3);');