ソートや大小比較に使える ブロックは,C言語のqsortのような要素ごとの条件判定にも使えます。例えば,Rubyのソート・メソッドは以下のようにブロックを扱えます。 ary.sort{|a,b| a<=>b} C言語のqsortと比較するとずいぶん簡単に使えることが分かります。もっとも,sortメソッドはブロックが指定されないと要素を「<=>」演算子を使って比較しますから,このような指定をしてもデフォルトと同じことになるため,あまり意味がありません。 今度は各要素を整数に変換してソートしてみましょう。 ary.sort{|a,b| a.to_i <=> b.to_i } これも簡単ですね。ブロックを指定しない方法では,文字列を辞書順に比較しますが,このようにブロックを指定した場合には,整数として値が小さい順に並び替えます。辞書順の並びでは「10」は「1」と「2」の間に並びますが,数値順であ
![まつもと直伝 プログラミングのオキテ 第5回(3)](https://cdn-ak-scissors.b.st-hatena.com/image/square/bed39b5962a5d552c95b6d796db8f55e72d32943/height=288;version=1;width=512/https%3A%2F%2Fxtech.nikkei.com%2Fimages%2Fn%2Fxtech%2F2020%2Fogp_nikkeixtech_hexagon.jpg%3F20220512)