我正在尝试找到一种方法来在代码批处理中使用多行注释,但它会将其中一些语法错误地识别为“]]”,并认为我想要在那里结束,而实际上我不想要这样。
--[[
for k,v in pairs(t) do
local d = fullToShort[k]
local col = xColours[v[1]] -- It stops here!
cecho(string.format(("<%s>%s ", col, d))
end
--]]
我记得在某处看到过,可以使用一种不同的组合方式来避免这些错误,例如--[=[或其他什么东西... 有人可以帮忙吗?
CDATA
中写入]]>
时,你最终会得到像]]]]><![CDATA[>
这样的 丑陋的东西。避免这种情况的唯一办法是提供成对的分隔符,其长度可以变化(或内容可以变化,如 bash HEREDOCs 中)。一个更好的问题应该是:为什么其他语言不像 Lua 一样做呢? - Andrey Tyukin[[
和]]
之间时,它也能正常工作。在这种情况下,您还可以将=
放置在嵌入式块中以区分其与包含块边界,例如使用[=[
和]=]
。 - hsandt(* "*)" *)
和(* … (* 嵌套注释 *) ... *)
都可以正常工作。它允许您对任何语法上有效的代码进行注释,而不会出现任何问题。 - bfontaine