読者です 読者をやめる 読者になる 読者になる

Rubyで不定個の引数を受け取る方法

Ruby

appengine-jrubyソースコードを見ていたら、以下のような記述がありました。

def put(*args)
  convert_exceptions do
    args = extract_tx(args)
    @@db.put(*args)
  end
end

*argsってなんのことだろうと思っていたら、不定個の引数を配列に格納した形で受け取るための書式であることがわかりました。ちなみに@@で始まる変数はクラス変数です。これはなんとか覚えていました。

参考:FAQ::変数、定数、引数 - Rubyリファレンス