2012-01-25 5 views
14

私はRubyのドキュメントを見ています。私は%w()または%W()(後でWは大文字である)を使うのが混乱しています。両方の違いは何ですか?あなたはいくつかのドキュメントを教えてくれますか?%wと%wの違いは何ですか

答えて

31

大文字にすると、配列は二重引用符で囲まれた文字列のように補間された文字列で構成されます。小文字のときは、一重引用符で囲まれた文字列のように、補間されていない文字列から構築されます。例:

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 
+0

例を追加できますか? –

+1

彼はあなたが%W!test#{変数} st!のようなことをすることができるということを意味します、#{変数}はインタープリレーションされます。 %wでは、単純な文字列として扱われます。 – oldergod

+0

@BhushanLodha:そうです。追加されました。ありがとう。 – mipadi

関連する問題