rubyのgemをいろいろ試している時に見つけたのでメモ。
methodで引数にアスタリスクを使うといい感じに値を取得することができます。
アスタリスク1つ*
だと配列、アスタリスク2つ**
だとハッシュを指定できます。
def foo(a, *b, **c) [a, b, c] end
こうすることで、foo
に引数がたくさんあったとき、引数の境界がはっきりします。
引数がなにもない場合は指定のフォーマットの空情報が入ります。
参考URLからデモコードを張っておきます。
> foo 10 => [10, [], {}] > foo 10, 20, 30 => [10, [20, 30], {}] > foo 10, 20, 30, d: 40, e: 50 => [10, [20, 30], {:d=>40, :e=>50}] > foo 10, d: 40, e: 50 => [10, [], {:d=>40, :e=>50}]
OSSつくるときとかはこういうの必要ですね〜。