我可以:
@items = @items.select {|i| i.color == 'blue'}
@items = @items.select {|i| i.color == 'blue' || i.color == 'red'}
Run Code Online (Sandbox Code Playgroud)
如果给出未知数量的颜色并且我想要全部选择它会怎么样?即
['red','blue','green','purple']
# or
['blue','red']
Run Code Online (Sandbox Code Playgroud)
我一直在研究一堆代码,它们会创建几个临时数组,然后将它们合并或展平成一个,但我真的很不高兴.
Ale*_*ner 21
试试这个:
colors = ['red','blue','green','purple']
@items = @items.select { |i| colors.include?(i.color) }
Run Code Online (Sandbox Code Playgroud)
对于就地更改,您可能还需要考虑这一点:
@items.reject! { |i| !colors.include?(i.color) }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12933 次 |
| 最近记录: |