文字列の配列に対するこのリテラル式が好きです:
%w( i can easily create arrays of words )
シンボルの配列を取得するリテラルがあるかどうか疑問に思っています。できるとわかっている
%w( it is less elegant to create arrays of symbols ).map( &:to_sym )
しかし、リテラルを使用するだけでもとても素晴らしいでしょう。
はい!これはRuby 2.0.0で可能になりました。それを書く一つの方法は:
_%i{foo bar} # => [:foo, :bar]
_
他の区切り文字を使用することもできるため、たとえば%i(foo bar)
または_%i!foo bar!
_と書くこともできます。
この機能は最初にここで発表されました:
http://www.Ruby-lang.org/zh_TW/news/2012/11/02/Ruby-2-0-0-preview1-released/
Rubyここの公式ドキュメントに記載されています:
http://Ruby-doc.org/core/doc/syntax/literals_rdoc.html#label-Percent+Strings
Ruby 1.x、残念ながら利用可能な %-delimiters のリストは制限されています
Modifier Meaning
%q[ ] Non-interpolated String (except for \\ \[ and \])
%Q[ ] Interpolated String (default)
%r[ ] Interpolated Regexp (flags can appear after the closing delimiter)
%s[ ] Non-interpolated Symbol
%w[ ] Non-interpolated Array of words, separated by whitespace
%W[ ] Interpolated Array of words, separated by whitespace
%x[ ] Interpolated Shell command