違いは何ですか?Ruby配列:%w対%W
129
A
答えて
205
%引用符は一重引用符のように''
(可変補間なし、より少ないエスケープシーケンス)、%W引用符は二重引用符のように""
です。
irb(main):001:0> foo="hello"
=> "hello"
irb(main):002:0> %W(foo bar baz #{foo})
=> ["foo", "bar", "baz", "hello"]
irb(main):003:0> %w(foo bar baz #{foo})
=> ["foo", "bar", "baz", "\#{foo}"]
19
%Wは通常の二重引用符置換を実行します。 %wはありません。
26
10
は、質問が来る続けると答えはいつも私に明確いないようです。だから、ここに私の考えがあります。
%wおよび%wは、配列に関連する汎用区切り入力タイプの例です。 %q、%Q、%r、%x、%iなど他のタイプもあります。
大文字と小文字の違いは、一重引用符と二重引用符の機能にアクセスできることです。一重引用符と小文字の%wを使用すると、コード補間(例:#{someCode})と動作するエスケープ文字の範囲が制限されます(\、\ nなど)。二重引用符と大文字の%Wを使用すると、はにアクセスします。
使用される区切り文字には、かっこだけでなく、任意の文字を使用できます。上記の例を試してみてください。パーセント弦楽のためhttp://cyreath.blogspot.com/2014/05/ruby-w-vs-w-secrets-revealed.html
マーク
2
1
%W
を見ている - フル、%の例ワットと完全なリストをアップ書き文字と区切り文字をエスケープするために
%Q
のような二重引用符の配列要素に使用されます。たとえば、
foo = "!"
%W{hello world #{foo}} # => ["hello", "world", "!"]
%w
は、一重引用符の配列要素には%q
のように使用されます。
%w(hello world #{foo})
# => ["hello","world", "\#{foo}"]
関連する問題
- 1. ruby(w/rails)group_by、group_by again
- 2. jqueryのチェックボックス配列のバリデーションw/formwizard
- 3. %w {}と%W {}の大文字と小文字の%W配列リテラルの違いは何ですか?
- 4. 配列w/oループのすべてのキーに対して関数を実行
- 5. 正規表現\ w \ w *を使用して文字列を分割しますか? \ w +?
- 6. Excel - ポップアップw /ドロップダウンメッセージ
- 7. NodeJS w/Expressエラー:/
- 8. OpenGL 3.2 w/NSOpenGLView
- 9. Laravel/wブートストラップPDF
- 10. SmartWatch h/wスケマティック
- 11. GVim Ctrl-Wソースコード
- 12. PHP Tar Extract w/Variable
- 13. Doxygen w/XCode&Subversion Issues
- 14. ルーピングとカウントw/find
- 15. .WファイルのCソース
- 16. Silverlight 4 w/RIA Services
- 17. facebook easy effect w/jquery
- 18. StarTeam w/.NET SDK/C#
- 19. %wと%wの違いは何ですか
- 20. S/WプログラミングとH/Wプログラミングの関連付け
- 21. HP-UXからRedHat w/rubyへのapache環境の移動
- 22. Ruby w/Sinatra:jQuery AJAXリクエストの例がありますか?
- 23. プリズムw/Mefブートストラップの問題
- 24. アプリケーション設計 - デーモンw/WebPage FrontEnd
- 25. Android OpenGL 2.0(QCAR w/QCAR
- 26. jQueryの - ( 'W-テキスト')変数
- 27. where句のケースステートメントw/or OR
- 28. Wとのインタフェースはアルファベット
- 29. SOLR複数のファセットwクエリ
- 30. iOS - スワイプW /ベロシティスワイプのアドバンスアニメーション
「%w」は、Rubyの可読性についてあまりにも気が利いている人にとって、私の普通のレトルトです。毎回動作します。 –
あなたはもっと良い応答を得ました:-) – errata
無関係な副言として、この質問のURLは、ページが読み込まれている間私を混乱させました。 –