selectメソッドでto_procを使わないようにプログラムを変えたい
よくブロックを書かないサンプルに,selectメソッドの引数に&シンボルを指定して,
(1..10).select(&:even?)
このように書いてあるサンプルはよくありますが,
とあるクラスの属性を参照するような条件だとどのように書くのでしょうか
Square = Struct.new(:row, :column)
squares = []
squares << Square.new(10, 20)
squares << Square.new(50, 20)
squares << Square.new(20, 20)
# ここをselect(...) のようにブロックを書かないようにしたい
p squares.select{|s| :==.to_proc[20, s.row]} # row が 20 のものを抽出
# p squares.select{|s| 20 == s.row} 素直にこう書けよという話なんですが...