我在 ruby 中过滤一个数组并使用一个.select
块来这样做。条件非常复杂,以至于单个行块是可怕的,但不是那么大,因此单独的方法似乎过大了。因此我想使用多行块。但是我不确定语法。
filtered_array = base_array.select do |elem|
return false if condition1
return false if condition2
return true
end
上面的内容显然是不正确的,因为return
退出了方法,而不是块,但给出了我正在寻找的东西的想法。
我也可以使用多个选择语句,但这似乎混淆了我想要做的事情。请注意,上述条件非常复杂,使用逻辑运算符绑定它们会导致混乱。