旅好きエンジニアのメモ

旅のこと映画、統計、会計、プログラミングなど、気の向くままに語ります

rubyの引数を初期値で配列にするってどうなの?

rubyって色々便利なものがあるんですよね、そこで引数について考察です。 例えば、引数を配列にするとか。

①と②の例は同じことをしていますが①はスッキリしていますが、②は冗長的です。 おそらくruby的に美しいのは①なのでしょう。

①引数を配列にする
argu = "test"
def func1(*argu_list)
  p argu_list
end
func1(argu)
②引数を配列にしない
argu = "test"
def func2(argu)
  argu_list = []
  argu_list << argu
  p argu_list
end
func2(argu)

ただ、個人的にはこれってrubyに慣れ親しんでないとわからない気がします。 いわゆる、はじめからリストを引数に渡せば良いような気もします。

*argu_list使うメリットとしてはインターフェースとして良い場合があるのでメリットも大きいのですが、個人的にはどちらでも良いかなという印象です。

ruby有識者が多いプロジェクトなら *argu_list使って、そうでもないなら使わなくても良いかなと思います。