irb(main):001:0> t = %w{this is a test}
=> ["this", "is", "a", "test"]
irb(main):002:0> t.size
=> 4
irb(main):003:0> t = %w{"this is" a test}
=> ["\"this", "is\"", "a", "test"]
irb(main):004:0> t.size
=> 4

最后我希望t.size是3。
正如所建议的,每个空间都必须被逃走…结果是很多工作还有其他的选择吗?我有一个大约30个单词的列表,需要放在一个集合中,因为我使用simple_form将它们显示为复选框

最佳答案

为什么不直接使用一个普通数组,这样就没有人需要可视化地解析所有转义来找出发生了什么很明显:

t = [
    'this is',
    'a',
    'test'
]

维护你的代码的人不会因为你使用%w{}而讨厌你,因为它不合适,或者当他们因为没有看到你的转义空白而把事情搞砸的时候。

关于ruby - 将带有空格的枚举放入rails集合中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5785698/

10-14 15:50
查看更多