%w[ ] Non-interpolated Array of words, separated by whitespace
%W[ ] Interpolated Array of words, separated by whitespace
使用法:%w {}と%W {}の大文字と小文字の%W配列リテラルの違いは何ですか?
p %w{one one two three 0 1 1 2 3} # = > ["one", "one", "two", "three", "0", "1", "1", "2", "3"]
p %W{one one two three 0 1 1 2 3} # = > ["one", "one", "two", "three", "0", "1", "1", "2", "3"]
p %w{C:\ C:\Windows} # => ["C: C:\\Windows"]
p %W{C:\ C:\Windows} # => ["C: C:Windows"]
私の質問は...違いは何ですか?
編集を確認してください、私はあなたの例が気に入っています。私の例の最後の2行の出力は私を混乱させます。 – RyanScottLewis
もう一度、あなたは "#{}"で囲まれていないルビ表現を使用していません。バックスラッシュは、他の特殊文字を文字通り解釈するために使用されるRubyの特殊文字です。文字列のコンテキストではなく式を使用しています。これは、バックスラッシュがシングルクォートではなくダブルクォートでバウンスしている理由を説明しています。 – acconrad
私はc00lryguyのポイントが深いと思います。 1) ''\'' = '' \\ "'であっても、バックスラッシュは '%w {}'でなくなっています。 2) '%W {} 'で見られる' '\ W" '=' "W" 'のように、バックスラッシュが無視されるときの一般的な質問もあります。 – sawa