是否有方法将引用的字符串转换为多行字符串?
类似于“这里的这个字符串\66”到[这里的这个字符串\66 ],因为我想忽略转义字符的解释。
发布于 2017-06-08 13:04:28
还可以使用由长括号括起来的长格式定义文字字符串。我们将n级的开口长括号定义为一个开口方括号,后面跟着n个等号,然后是另一个开口方括号。因此,0级的开头长括号被写为[[ ],第1级的开头长括号被写为[= ]等等。结束长括号的定义类似;例如,第4级的结束长括号被写为====]。长文字以任何级别的开头长括号开头,以同一级别的第一个结束长括号结尾。它可以包含任何文本,但同级的结束括号除外。这种括号中的文字可以运行几行,不解释任何转义序列,也可以忽略任何其他级别的长括号。任何类型的行尾序列(回车、换行、回车后跟着换行,或换行后跟着回车)都被转换成一个简单的换行符。 为了方便起见,当开始长括号后面紧跟换行符时,换行符不包含在字符串中。
这就是你所需要知道的关于长弦的事。
将使用引号“string”定义的字符串转换为类似于[某些字符串]的字符串没有多大意义,因为引号和方括号实际上都不是该字符串的一部分,字符串本身也是相同的。唯一的区别将是在方括号或转义序列中忽略的前导换行符,而这些换行符没有被解释。
如果有嵌套字符串,则引号和方括号仅是字符串的一部分。在这种情况下,转换也没有多大意义,因为不能用引号嵌套字符串,比如带有括号的字符串。
也许你的整个做法有点偏离了?
发布于 2017-06-08 15:03:59
你想找这样的东西吗?
local db = "google"
local tbl = "accounts"
local where = "field = 'VALUE' AND TRUE"
local order = "id DESC"
local query = string.format([[
SELECT *
FROM `%s`.`%s`
WHERE %s
ORDER BY %s
]], db, tbl, where, order)https://stackoverflow.com/questions/44435886
复制相似问题