%w和%W之间有什么区别

时间:2012-01-25 02:21:57

标签: ruby arrays

我正在查看Ruby的文档。我在使用%w()%W()(稍后W是大写的)之间感到困惑。两者有什么区别?你能指点我一些文件吗?

1 个答案:

答案 0 :(得分:34)

当大写时,数组由插值的字符串构成,就像在双引号字符串中发生的那样;在小写时,它是由未插入的字符串构成的,就像在单引号字符串中一样。例如:

irb(main):001:0> foo = "bar"
=> "bar"
irb(main):002:0> %w(#{foo} bar baz)
=> ["\#{foo}", "bar", "baz"]
irb(main):003:0> %W(#{foo} bar baz)
=> ["bar", "bar", "baz"]
irb(main):004:0> ^D