使用%w 创建带空字符串的数组

要创建一个空字符串数组['a', '', 'b', '', 'c'] (不是一个空格字符串' ' ),使用%W我可以使用%W[a #{} b #{} c] ,我也可以连接数组,但是可以使用%w[]创建带空字符串的数组吗?

几个选项

%W[abc #{''} z]

%W[abc] << " "

(我知道这不是使用%w{}语法,但是为了更好的衡量:

'a,b,c,,z'.split(',')

您可以使用

  %w[a \ b \ c].map(&:strip) 

,但我觉得它不是很干净。

尝试使用%W而不是%w,并使用\ s转义字符作为空字符串

  %W[a \sb ] 

您可以在其后使用带有额外空格字符的转义运算符(\)。

 >> %w(a \ b \ c) => ["a", " ", "b", " ", "c"]