そういうことだったんですね

いろいろ調べたり学んだりしたことを忘れないように書き連ねています

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]