文字字符串[Lua 5.1]

时间:2014-11-07 14:31:49

标签: string lua literals

所以我开始学习Lua(5.1),我看到了一个叫做文字字符串的东西。我不知道这些是做什么的。手册说\ a是铃声,但是当我输入

print('hello\athere')

IDE打印出一个奇怪的正方形,上面写着“bel”。 所以如果有人可以帮助我并解释他们中的每一个[Literal Strings]。这将非常有用。

P.S。我使用Sublime Text 3

3 个答案:

答案 0 :(得分:3)

只有0x200x7E之间的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是两位十六进制数字)