私はrubyで配列をフィルタリングし、.select
ブロックを使用してフィルタリングしています。条件は十分に複雑であるため、単一のラインブロックは恐ろしいですが、それほど大きくはないため、別の方法はやり過ぎのように見えます。したがって、複数行のブロックを使用したいと思います。ただし、構文がわかりません。
filtered_array = base_array.select do |elem|
return false if condition1
return false if condition2
return true
end
上記はreturn
、ブロックではなくメソッドを終了するときに明らかに正しくありませんが、私が探しているもののアイデアを提供します。
複数のselectステートメントを使用することもできますが、それでは私がやろうとしていることがわかりにくくなるようです。上記の条件は十分に複雑であるため、論理演算子を使用してそれらをバインドすると、混乱が生じることに注意してください。