Rubyで可変長引数を使う / 引数を配列で渡す

2012/10/8
Original: http://blog.osyoyu.com/2012/10/ruby-var-len-args/

よく忘れるのでメモ。

# 可変長引数
def hoge(*arg)
  p arg
end
 
hoge(1, 2, 3) #=> [1, 2, 3]
hoge(1, 2, 3, 4) #=> [1, 2, 3, 4]
 
# 引数を配列で渡す
def fuga(a, b, c)
  p a, b, c
end
 
fuga([1, 2, 3]) #=> [1, 2, 3]
fuga([1, 2, 3, 4]) #=> エラー
 
# 可変長引数と組み合わせる
def piyo(*d)
  p d
end
 
piyo(1, 2, 3) #=> [1, 2, 3]
piyo(1, 2, 3, 4) #=> [1, 2, 3, 4]