【问题标题】:Why use %q( ) or %( )?为什么使用 %q( ) 或 %( )?
【发布时间】:2015-05-29 20:45:04
【问题描述】:

在浏览一些 Ruby 文档时,我遇到了百分比字符串,其中两个我有点困惑。具体来说就是 %()

string = %(I am a string)
 #=> "I am a string"

和 %q()

 string = %q(I am a string)
     #=> "I am a string"

当我和他们一起玩时,他们似乎都输出了一个字符串,就像我刚刚写的一样

string = "I am a string"
#=> "I am a string"

为什么以及在什么情况下,人们更愿意使用它们而不是仅仅创建一个字符串文字,因为它们似乎并没有通过打字或简化来节省很多?

【问题讨论】:

标签: ruby string


【解决方案1】:

%%q 形式也是字符串字面量,只是解析规则不同。考虑:

%q(I am a 'string' with a "string" in me!)

允许不同的形式,使用不同的转义/终止字符,可以使某些文字更容易表达。我更喜欢'-by-default,但它是针对给定情况使用适当的形式。

%(与%Q相同)和%q表单与"'表单具有相同的关系;所以使用一个或另一个(同一系列)之间的区别应该很清楚。

从历史上看,这些 different % Notations 是从 perl 中“借来的”。

【讨论】:

  • 这对我来说有点清楚,感谢您的链接..非常有用!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-28
  • 2023-03-15
相关资源
最近更新 更多