当我浏览一些Ruby Doc时,我遇到了百分比字符串,其中两个我有些困惑。具体来说就是%()
string = %(I am a string)
#=> "I am a string"
Run Code Online (Sandbox Code Playgroud)
和%q()
string = %q(I am a string)
#=> "I am a string"
Run Code Online (Sandbox Code Playgroud)
当我和他们一起演奏时,它们似乎都输出了与我刚刚写的相同的字符串
string = "I am a string"
#=> "I am a string"
Run Code Online (Sandbox Code Playgroud)
为什么以及在哪种情况下,宁愿使用它们而不是仅仅创建字符串文字,因为它们似乎并没有通过键入或简化而节省很多?
在%和%q形式的字符串文字,以及,只是不同的解析规则。考虑:
%q(I am a 'string' with a "string" in me!)
Run Code Online (Sandbox Code Playgroud)
允许使用具有不同的转义/终止字符的不同形式可以使某些文字更易于表达。我更喜欢'默认情况下,但是它是针对给定情况使用适当的形式。
将%(同%Q)和%q形式具有作为相同的关系"与'表格; 因此使用(同一个家族的)另一种之间的区别应该很明显。
从历史上看,这些不同的%表示法是从perl中“借来的”。
| 归档时间: |
|
| 查看次数: |
652 次 |
| 最近记录: |