字面字符串 [Lua 5.1]

所以,我开始学习 Lua(5.1),然后发现了一种东西叫做字面字符串。但我不知道这些是什么。手册上说 \a 是一个响铃,但当我输入:

print('hello\athere')

时,我的 IDE 打印出了一种带着“bel”的奇怪方块。所以,如果有人能帮我解释一下这些(字面字符串)中的每个字符,那将非常有帮助。

p.s. 我使用 Sublime Text 3。

点赞
用户1358283
用户1358283

一个字面量只不过是代码中的一个值,例如:'一些文本'

'\a' 是不同的东西。这是一个特殊的“字符”,用于输出声音(在很久以前使用PC扬声器)。

2014-11-07 14:36:32
用户1009479
用户1009479

只有在 0x200x7E 之间的 ASCII 码才属于可打印字符。如何输出其他字符,包括 '\a''\b',取决于实现。

'\a',即 ASCII 码为 7BEL,被设计用于警报。典型的终端在输出 '\a' 时会发出声音或显示警报。您的 IDE 选择显示与警报不同的输出。这是可以的,因为取决于实现。

2014-11-07 14:43:38
用户646619
用户646619

这样的序列被称为“转义序列”,并且在许多不同的语言中都被使用。它们用于编码非打印字符,如硬编码的字符串中的换行符。

Lua支持以下转义序列:

  • \a:响铃
  • \b:退格
  • \f:换页
  • \n:换行符
  • \r:回车
  • \t:制表符
  • \v:垂直制表符
  • \\:反斜杠
  • \":双引号
  • \':单引号
  • \nnn:八进制值(nnn是3个八进制数字)
  • \xNN:十六进制值(Lua5.2/LuaJIT,NN是两个十六进制数字)
2014-11-07 14:44:13