Незаконченная длинная нить рядом с <eof>
function writeFloat([=[==[===[====["game.exe"+XXXXXXXX]+XXX====]+XXX===]+XXX==]+XXX=]+XXX, trackbar_getPosition(TRAINERFORM_CETrackBar1))
end
дает мне ошибку
[строка "--code..."]:4: незаконченная длинная строка рядом
1 ответ
Lua имеет "длинные строки", которые индуцируются синтаксисом [=*[
где "=*" означает "ноль или более =
персонажи ". Итак [[
начинается длинная строка, как и [==[
или же [=[
, как в вашем случае.
Длинная строка названа так, потому что она принимает каждый символ между вызывающим синтаксисом и завершающим синтаксисом. Это позволяет вам делать полезные вещи, такие как дословное добавление XML, C++ или даже кода Lua в ваш скрипт Lua в виде буквенной строки.
Завершающий синтаксис ]=*]
где "=*" означает точно такое же число =
символы, которые использовались, чтобы вызвать длинную строку. Так что, если вы начнете с [=[
длинная строка будет заканчиваться только ]=]
, ]]
а также ]====]
или любой другой конец не завершит длинную строку; они будут взяты дословно в строку.
Итак, это:
local lit = [=[Long String]==]=]
Результаты в lit
принимая значение Long String]==
,
В вашем коде вы никогда не увидите ]=]
последовательность. У тебя есть ====]
и подобные вещи, но они даже не начинаются с ]
персонаж.
Запрещено начинать длинную строку, которая никогда не заканчивается скриптом Lua. Отсюда и ошибка компиляции.