所以我开始学习Lua(5.1),我看到了一个叫做文字字符串的东西。我不知道这些是做什么的。手册说\ a是铃声,但是当我输入
时print('hello\athere')
IDE打印出一个奇怪的正方形,上面写着“bel”。 所以如果有人可以帮助我并解释他们中的每一个[Literal Strings]。这将非常有用。
P.S。我使用Sublime Text 3
答案 0 :(得分:3)
只有0x20
和0x7E
之间的ASCII为printable characters。如何输出其他字符,包括'\a'
和'\b'
,取决于实现。
'\a'
,7
的ASCII BEL
,旨在用于提醒。输出'\a'
时,典型终端会发出声音或可见警报。您的IDE选择显示除警报之外的其他输出。这没关系,因为它取决于实施。
答案 1 :(得分:2)
文字不超过代码中的值,例如:'some text'
。
'\a'
是不同的。一个特殊的“char”,用于输出声音(以前使用的是pc-speaker)。
答案 2 :(得分:2)
此类序列称为"转义序列",并且可以在许多不同语言中找到。它们用于编码不可打印的字符,例如文字(硬编码)字符串中的换行符。
Lua支持以下转义序列:
\a
:贝尔\b
:Backspace \f
:表单Feed \n
:Newline \r
:回程\t
:标签\v
:垂直标签\\
:反斜杠\"
:双重报价\'
:单引号\nnn
:八进制值(nnn
是3个八进制数字)\xNN
:十六进制值(Lua5.2 / LuaJIT,NN
是两位十六进制数字)