function writeFloat([=[==[===[====["game.exe"+XXXXXXXX]+XXX====]+XXX===]+XXX==]+XXX=]+XXX, trackbar_getPosition(TRAINERFORM_CETrackBar1))
end
给我错误
[string "--code..."]:4: 附近未完成的长字符串
function writeFloat([=[==[===[====["game.exe"+XXXXXXXX]+XXX====]+XXX===]+XXX==]+XXX=]+XXX, trackbar_getPosition(TRAINERFORM_CETrackBar1))
end
给我错误
[string "--code..."]:4: 附近未完成的长字符串
Lua 有“长字符串”,这是由 的语法引起的[=*[
,其中“=*”表示“零个或多个=
字符”。所以[[
开始一个长字符串,就像[==[
or[=[
一样,就像你的情况一样。
长字符串之所以如此命名,是因为它接受诱导语法和终止语法之间的每个字符。这允许您做一些有用的事情,例如在 Lua 脚本中添加逐字 XML、C++ 甚至 Lua 代码作为文字字符串。
终止语法是]=*]
,其中“=*”表示与用于诱导长字符串完全相同的字符数。=
因此,如果您以 开头[=[
,则长字符串只会以结尾]=]
。]]
和]====]
/或任何其他终点不会结束长字符串;它们将被逐字记录到字符串中。
所以这:
local lit = [=[Long String]==]=]
结果lit
取值Long String]==
。
在您的代码中,您永远不会看到]=]
序列。你有====]
和类似的东西,但它们甚至不是从一个]
角色开始的。
在 Lua 脚本中开始一个永远不会结束的长字符串是非法的。因此编译错误。