在数组文字`%w`中将单词组合在一起

时间:2015-11-20 13:24:08

标签: arrays ruby literals

有没有办法以%w(foo bar)表示法将多个单词组合在一起,以获得如下结果数组?

%w(foo bar foo or bar foo and bar) # => ["foo", "bar", "foo or bar", "foo and bar"]

3 个答案:

答案 0 :(得分:2)

是的,有办法。您可以使用\

来扩展空白区域
%w(foo bar foo\ or\ bar foo\ and\ bar)
#=> ["foo", "bar", "foo or bar", "foo and bar"]

但我不确定这是否会提高可读性......

答案 1 :(得分:1)

可以使用\作为空格字符:

%w(foo bar foo\ or\ bar foo\ and\ bar) => ["foo", "bar", "foo or bar", "foo and bar"]

答案 2 :(得分:0)

不使用%w表示法,但具有相似的精神,使用|而不是空格作为分隔符:

"foo|bar|foo or bar|foo and bar".split("|")