'之间的区别和"在Lua内

时间:2013-06-19 22:05:35

标签: lua

我只是有一个普遍的问题。

在Lua中使用单引号和双引号是否有任何区别?

示例:

require('test.lua')
require("test.lua")

当我在PAWN中编程,一种类似于C的语言时,单引号可用于字符,但不能用于文本字符串,您必须为它们使用双引号。

如果没有差异,建议使用哪一个?

这个问题很可能已经得到了解答,但是我找不到已经回答过的话题。

谢谢。

3 个答案:

答案 0 :(得分:27)

不。没有区别,除了你可以把另一个包围在你正在使用的那个内。

-- No difference between these
myStr = "Hi!!"
myStr = 'Hi!!'
myStr = [[Hi!!]] -- The 'weird' way to make a string literal IMO...

-- Double quotes enclosed in single quotes    
myStr = 'My friend said: "Hi!!"'

-- Single quotes enclosed in double quotes
myStr = "My friend said: 'Hi!!'"

-- Single and double quotes enclosed in double brackets
myStr = [[My friend said: "What's up?"]]

有关详细信息,请参阅:Strings in Lua

答案 1 :(得分:3)

您可以通过在互联网上搜索“lua字符串”来轻松找到Lua字符串。

以下是一个结果:http://www.lua.org/pil/2.4.html

您可以自由选择自己的引用样式,因为它没有区别,但您应该保持一致,以便您的代码更好阅读。

作为优先选择,我通常会使用双引号,因为Lua使用C风格的转义码。许多脚本语言(例如Perl)和命令shell 区分单引号和双引号字符串,与这些准标准实践略微一致会很好。< / p>

我的意思是,当我看到单引号字符串时,我必须实际考虑我正在阅读的语言,以及是否在该字符串中替换了转义码。使用双引号字符串时,我不必考虑它,因为作为一般规则,任何用字符串中的C风格转义码替换的语言都会在双引号字符串中执行。

答案 2 :(得分:2)

Lua中两者没有区别,所以你可以使用你喜欢的任何一个。我倾向于在语义上区分它们:

  • 我将"double quotes"用于用户可见的字符串和文本,基本上是输出或文件中显示的内容
  • 我使用'single quotes'作为类似选项的字符串传递给方法,通常用于代码,例如io.stdout:setvbuf('no')