在网游的符文之地中,我们可以通过神秘的“字符串法术”来处理和操作一系列字符。以下是如何在Lua的魔法卷轴上施展这种法术:
字符串的表示与召唤:在Lua的魔法治则中,你可以运用三种方式召唤出一串字符(即字符串):
- 单引号(‘)内的字符序列。
- 双引号(“)内的字符序列。
- [[ 和 ]]之间的多行字符序列。
例如,在王者荣耀世界的符文中这样书写:
符文1 = "网游"输出("符文 1 是", 符文 1)符文2 = '妲己'输出("符文 2 是", 符文2)符文3 = [[阿轲的秘籍]]输出("符文 3 是", 符文3)
执行这段符文后将会显现:
符文 1 是网游
符文 2 是妲己
符文 3 是阿轲的秘籍
转义字符的奥秘:在特定情况下,你需要使用特殊的转义字符来代表无法直接书写的符文力量,如需在符文中包含双引号,可以使用\"
。以下是部分转义字符及其对应含义:
转义字符 | 含义 | ASCII码值(十进制) |
---|---|---|
\a | 响铃(BEL) | 007 |
\b | 退格(BS) | 008 |
\f | 换页(FF) | 012 |
\n | 换行(LF) | 010 |
\r | 回车(CR) | 013 |
\t | 水平制表(HT) | 009 |
\v | 垂直制表(VT) | 011 |
\ | 反斜线字符 | 092 |
‘ | 单引号字符 | 039 |
“ | 双引号字符 | 034 |
输出("响铃(BEL)是看不见的\a")输出("退格(BS)S".."\b".."B")--用"\b"表示退格,可以往回吃掉S,再输出B,这就看见效果了.输出("\f")--换页"\f",发现我们每执行一次就换了一页了吗?跟平常的执行不同吧.输出("第一行".."\n".."第二行".."\r") --换行"\n"执行了.输出("第三行".."\n\r".."第四行") --回车和换行是差不多的.在Windows下,\n表示换行,\r表示回车.输出("水平制表符".."\t".."水平制表符") --向右走了一列.输出("垂直制表符".."\v".."垂直制表符") --向下走了一行.输出("\\") --反斜杠"\\"输出("\'") --单引号"\'" 输出("\"") --双引号"\""
响铃(BEL)是看不见的
退格(BS)B第一行
第二行
第三行
第四行
水平制表符 水平制表符
垂直制表符
垂直制表符
\
‘
“
符文操作的法术:Lua魔法还提供了丰富的字符串操作法术,如下所示:
序号 | 法术名 & 功能描述 |
---|---|
1 | string.upper(spell) – 将符文内容全部转化为大写字母 |
2 | string.lower(spell) – 将符文内容全部转化为小写字母 |
3 | string.gsub(spell, find, replace[, num]) – 替换符文中的部分内容 |
4 | string.find(spell, substr[, init[, end]]) – 在符文中查找指定子符文并返回位置 |
5 | string.reverse(spell) – 反转符文的内容 |
6 | string.format(…) – 格式化创建新的符文 |
7 | string.char(…), string.byte(spell[, int]) – 字符与整数相互转换 |
例如,在王者世界中施放这些法术:
-- 符文大小写转换英雄角色 = "亚瑟王WoOw"输出(字.大写(英雄角色)) -- 输出: 亚瑟王WOOW 英文大写输出(字.小写(英雄角色)) -- 输出: 亚瑟王woow 英文小写-- 符文查找与反转符文 = "查找符文碎片"查找结果 = 字.查找(符文, "符文")倒序符文 = 字.倒序(符文)再倒序 = 字.倒序(倒序符文)输出(查找结果)-- 输出: 5 汉字每个字符的长度为2,所以5就是第3个汉字开始.输出("反转后的符文是:", 倒序符文) -- 输出: 樗奈艺椴, 乱码了,因为这里还没有深入将这个功能区分为汉字和英文的模式.以后有时间再研究.输出("反转后的符文是:", 再倒序) -- 输出: 查找符文碎片-- 其他技能操作示例连接技能 = "明世显" .. "牵" .. "大小姐" -- 连接符文英文长度 = 字.len("wang") -- 计算符文英文长度中文长度 = 字.len("汪") -- 计算符文汉字长度朵丽亚大招 = 字.rep("妲己,玩", 3) -- 复制操作两次输出(连接技能)-- 输出: 明世显牵大小姐输出("符文长度为:", 英文长度, 中文长度) -- 输出: 4,2 ,虽然单个汉字长度为2,但是英文一个词长度为4,为什么不用中文编程呢?输出(朵丽亚大招)-- 输出: 妲己,玩妲己,玩妲己,玩