使用%i和%I符号数组文字

Mar*_*ark 14 ruby ruby-on-rails

通过阅读Rails问题列表,我无法找到%i对符号数组的影响.这对任何人都意味着什么?

And*_*eis 18

小写%i代表

非插值符号数组,由空格分隔(在Ruby 2.0之后)

另外,大写%I意味着

内插的符号数组,由空格分隔(在Ruby 2.0之后)

插值差异示例:

2.4.2 :001 > a = 1
2.4.2 :002 > %i{one two #{a}+three} # Interpolation is ignored
 => [:one, :two, :"\#{a}+three"]
2.4.2 :003 > %I{one two #{a}+three} # Interpolation works
 => [:one, :two, :"1+three"]
Run Code Online (Sandbox Code Playgroud)

请在此处查看更多信息.


Jör*_*tag 9

我在查找与%i符号数组有关的内容时遇到了麻烦。

它是符号数组的数组文字。对于符号数组,'它与对字符串的作用相同。

  • 因此%i和%I与%w和%W几乎相同。“插值”和“非插值”之间的区别也不明显,但这是双引号(对\ n和#{...}项进行插值)和单引号(不对)进行区别 (2认同)