私はこれを持っています:
def foo(a=3, b=6)
puts a+b
end
しかし、私はそれを次のように呼びます:
foo(params[:a], params[:b])
パラメータが存在する場合は問題ありませんが、存在しない場合は次のように呼び出されます。
foo(nil,nil)
3 と 6 のデフォルト値が設定されず、nil クラスの undef メソッド '+' のエラーがスローされます。
私の質問は、メソッドに nil が渡された場合でも、メソッドのデフォルトを設定する方法があるかどうかです。したがって、ユーザーが nil と言った場合は、'Screw you man!' と言います。とにかく彼に3を与えます。
これは良い考えではありませんが、私はただ興味があります。