デフォルト引数を入れる変数を2個
デフォルト引数を入れる変数を2個
作ることもできると知ったのでメモ。
def hoge(foo = bar = 123) puts "foo: #{foo}" puts "bar: #{bar}" end hoge(234) #=> foo: 234 #=> bar: hoge #=> foo: 123 #=> bar: 123
引数を渡してhogeをcallしたときに、barの扱いが
NameError: undefined local variable or method `bar' for main:Object
になるかと思ったけど、
bar = 1 if false
のような、宣言だけはされていて、nilが入っているみたいな感じになるみたい。
こんなんどこで使うねんと思ったけどSinatraで使われていてこの存在を知った。