selectメソッドでto_procを使わないようにプログラムを変えたい


よくブロックを書かないサンプルに，selectメソッドの引数に&シンボルを指定して，  
`(1..10).select(&:even?)`  
このように書いてあるサンプルはよくありますが，  
とあるクラスの属性を参照するような条件だとどのように書くのでしょうか

[code]

    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} 素直にこう書けよという話なんですが．．．
    
[/code]




`lambda_driver`というgemを使えばできます。

[code]

    squares.select(&:row >> 20._(:==))
    
[/code]

ご自身で書かれてるように素直に`squares.select{|s| 20 == s.row}`しとくのが一番だと思いますが。

