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

Ruby 符号数组是否有文字符号?,ruby,arrays,symbols,syntactic-sugar,Ruby,Arrays,Symbols,Syntactic Sugar,我喜欢字符串数组的文字表达式: %w( i can easily create arrays of words ) 我想知道是否有文字来获取符号数组。我知道我能行 %w( it is less elegant to create arrays of symbols ).map( &:to_sym ) 但是,如果只使用一个文本就太好了。在Ruby 1.x中,不幸的是,可用的文本列表非常有限 Modifier Meaning %q[ ] Non-interpolated

我喜欢字符串数组的文字表达式:

%w( i can easily create arrays of words )
我想知道是否有文字来获取符号数组。我知道我能行

%w( it is less elegant to create arrays of symbols ).map( &:to_sym )

但是,如果只使用一个文本就太好了。

在Ruby 1.x中,不幸的是,可用的文本列表非常有限

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

对!!这在Ruby 2.0.0中是可能的。写它的一种方法是:

%i{foo bar}  # => [:foo, :bar]
您还可以使用其他分隔符,因此也可以编写
%i(foo-bar)
%i!富吧例如

此功能最初在此处发布:

Ruby的官方文档中提到了这一点:


太糟糕了。。。不过,谢谢你的链接和列表。不知道
%x
,似乎比我使用的倒勾符号更具可读性,对于那些几乎无法记住现有符号的人(那就是我)来说并不那么不幸。在Ruby 2.0中,我们将获得符号数组的%i,请参见:这种方法比创建符号数组更好?还是简单的方法?Meh.在这种情况下,
%w
符号的意义是什么?在我看来,符号数组已经比字符串数组更不杂乱,而且通常也不太常见。YMMV.似乎ruby团队同意我的观点,因为ruby 2…可能是重复的感谢,@MarcelJackwerth已经在对之前接受的答案的评论中指出了这一点,但我将为后代接受你的答案。请注意,与其他修饰符一样,可以使用一系列其他分隔符。e、 g.
%i[foo-bar]
%i{foo-bar}
%i!富吧
%i%foo-bar%
。如果您希望在TextMate或Sublime文本中突出显示对此的支持,请查看。根据,建议使用
%i[foo-bar]