是否有符号数组的文字符号?

我喜欢这个string数组的expression式:

%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! 例如。

这个function最初是在这里宣布的:

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