我是Lua编程的初学者,我想了解以下内容:
在下面的陈述中,为什么使用这些括号(()
和[
)?我没有找到解释它的任何东西。
]
另外,如果该函数还有一个参数怎么办?会是这样的:
conn:execute([[ 'MySQLSTATEMENT' ]])
(我从链接中获取了这些示例:http://www.tutorialspoint.com/lua/lua_database_access.htm)
答案 0 :(得分:5)
双方括号用于指定Lua中的文字字符串。这些字符串可以包含多行,并将转义序列解释为明文。至于参数,它们的处理方式与任何其他值没有区别。对于具有两个参数的函数,您的示例在语法上是正确的。
如果您的字符串包含可能必须手动转义的字符,例如\
,'
和"
,则此样式是合乎需要的。例如,阅读和撰写[[here's a "quote"]]
比编写"here's a \"quote\""
或'here\'s a "quote"'
要容易得多。
我们也可以通过匹配双方括号来分隔文字字符串 [...]]。这种括号内的文字可以运行几行, 可以嵌套,不解释转义序列。而且,这种形式 当此字符为a时,忽略字符串的第一个字符 新队。这种形式对于编写字符串特别方便 包含程序片段;