%w()と%W()とは

%w()はrubyスッキリしたコードで文字列の配列が作成するための記法です。

https://www.sejuku.net/blog/46939#w

 

では%w()と%W()で具体的に何が違うのかというと

 

%W()は()内で式展開することができます。

 

では具体的にどういうことかというと

こうコードを打つと

aa = ["hello","","bye"]
bb = %w(hello #{} bye)
cc = %W(hello #{} bye)

puts aa
puts bb
puts cc

このように出力されます

$ ruby practice.rb

hello

 

bye

hello

#{}

bye

hello

 

bye

 

bbはと#{} 出力されたのに対してccは空欄になりました。

このように%W記法は()内で式展開することが可能になります。