ruby 落ち穂拾い
リリースされて1カ月後に ruby 2.1.0 の存在に気づき、時の流れを感じてます。
今回は落ち穂拾い。
手続きオブジェクトのリテラル表記
->(arg)
lambda と同じく手続きオブジェクトを返します。
sum = ->(a,b) { a + b }
sum.call(1,2) # =>3
coffeescriptにも似たような構文がありますが、引数の位置が逆ですね。
% 記法
%i が 2.0 から追加されています。シンボルの配列を返すようになっています。
%w(matsu take ume) => ["matsu", "take", "ume"]
%i(matsu take ume)=> [:matsu, :take, :ume]
変数の交換
ソートの際、入れ替えることがありますが、多重代入で実現可能です。
num = [3,1,2]
num[0],num[1] = num[1],num[0]
num => [1, 3, 2]