Rubyではメソッドの引数に過不足があるとエラーが発生してしまいます。
例)
def favorite(sport) if sport=='soccer' '私もサッカーが好きです' else '好きなスポーツは私と違います' end end
引数が少ない
favorite
#=>ArgumentError:wrongnumberofarguments(given0,expected1)
引数が多い
favorite('baseball', 'basketball') #=>ArgumentError:wrongnumberofarguments(given2,expected1)
引数にデフォルト値を指定する方法
def メソッド(引数1=デフォルト値1,引数2=デフォルト値2) #必要な処理 end
先ほどのメソッドに引数を指定してみましょう。
def favorite(sport = 'soccer') if sport=='soccer' '私もサッカーが好きです' else '好きなスポーツは私と違います' end end
こうすると、引数を指定しなくてもOK
favorite
#=>'私もサッカーが好きです'