差异“和”在Lua

问题描述:

我只是有一个普遍的问题差异“和”在Lua

有没有用在Lua单引号和双引号任何区别

例:?

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

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

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

这个问题最有可能已经回答了,但是我没有找到已经回答的话题。

谢谢。

+0

没有区别。另外,如果你决定使用''''或'''作为数组变量,你可以使用点符号。 –

+0

啊好吧谢谢你的快速反应,哪一个更受欢迎? – Bicentric

+0

只需使用单引号当你在字符串中加双引号时,在字符串中加双引号时用单引号,也可以用反斜线字符在两者中进行转义,所以选择哪一个并不重要。优先考虑,因为它确实没有关系。 –

没有。没有什么区别,除了你可以把另一个放在你正在使用的那个之内。

-- 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了解更多信息。

+0

好的,再次感谢您的回答,非常感谢。不过,我仍然想知道哪一个更常见:)我猜测双引号是因为各种语言的字符串都使用双引号。 – Bicentric

+0

是的,在C,C++,C#,Java和更多语言中,双引号用于字符串文字,单引号用于字符文字。 – AtinSkrita

+2

@Bicentric你对它的想法太多了。只要使用一个适合你的想法 - 没有比其他人更喜欢的。我倾向于使用''',因为我输入时不需要额外的换档键。 – greatwolf

通过在互联网上搜索“lua字符串”,您可以轻松找到关于Lua字符串的足够信息。

这里是一个结果:http://www.lua.org/pil/2.4.html

你可以*选择自己的报价风格,因为它没有什么区别,但你应该是一致的,这样你的代码是更好的阅读。

作为一个偏好问题,我通常会使用双引号,因为Lua使用C风格的转义码。许多脚本语言(例如Perl)和命令shell do在单引号和双引号字符串之间作了区分,并且与这些准标准实践略微一致会很好。

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

+0

啊谢谢你的回答:) – Bicentric

+0

在线上可用的PIL现在已经过时了(括号分隔符[[''从5.0替换为'[[*]'语法),通常更好请参阅手册:http://www.lua.org/manual/5.2/manual.html#3.1 – dualed

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

  • 我用"double quotes"对用户可见的字符串和文本,基本上无论在输出或文件
  • 我用'single quotes'对于期权类的字符串传递到方法,并出现一般在代码中,如io.stdout:setvbuf('no')