首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在LUA中将字符串转换为多行/原始字符串

在LUA中将字符串转换为多行/原始字符串
EN

Stack Overflow用户
提问于 2017-06-08 12:32:16
回答 2查看 2.7K关注 0票数 0

是否有方法将引用的字符串转换为多行字符串?

类似于“这里的这个字符串\66”到[这里的这个字符串\66 ],因为我想忽略转义字符的解释。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-08 13:04:28

Lua 5.3参考手册3.1:词汇公约

还可以使用由长括号括起来的长格式定义文字字符串。我们将n级的开口长括号定义为一个开口方括号,后面跟着n个等号,然后是另一个开口方括号。因此,0级的开头长括号被写为[[ ],第1级的开头长括号被写为[= ]等等。结束长括号的定义类似;例如,第4级的结束长括号被写为====]。长文字以任何级别的开头长括号开头,以同一级别的第一个结束长括号结尾。它可以包含任何文本,但同级的结束括号除外。这种括号中的文字可以运行几行,不解释任何转义序列,也可以忽略任何其他级别的长括号。任何类型的行尾序列(回车、换行、回车后跟着换行,或换行后跟着回车)都被转换成一个简单的换行符。 为了方便起见,当开始长括号后面紧跟换行符时,换行符不包含在字符串中。

这就是你所需要知道的关于长弦的事。

将使用引号“string”定义的字符串转换为类似于[某些字符串]的字符串没有多大意义,因为引号和方括号实际上都不是该字符串的一部分,字符串本身也是相同的。唯一的区别将是在方括号或转义序列中忽略的前导换行符,而这些换行符没有被解释。

如果有嵌套字符串,则引号和方括号仅是字符串的一部分。在这种情况下,转换也没有多大意义,因为不能用引号嵌套字符串,比如带有括号的字符串。

也许你的整个做法有点偏离了?

票数 3
EN

Stack Overflow用户

发布于 2017-06-08 15:03:59

你想找这样的东西吗?

代码语言:javascript
复制
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)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44435886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档