2016-08-16 9 views
0

オプションの引数を渡したいメソッドがあります。デフォルトでは、その引数をnilに設定したいと思います。私はそれをやっている方法です:ルビのオプションの引数/ param

def my_function(arg1, arg2: nil) 
    # Do something 
end 

私はmy_function(2, 5)と呼びます。 "引数の数が間違っています(指定2、予想1)"

私はここで何か間違っていますか?いくつかの呼び出し中にarg2の値を渡し、それ以外の場合はnilにしたいと考えています。だから私がarg2の値を渡さないと、私の関数呼び出しはmy_function(2)のようになります。

+2

また、 'my_function(2、arg2:5)' –

答えて

2

あなたは(位置引数VS)デフォルトのキーワード引数を定義している

def my_function(arg1, arg2 = nil) 
+1

の速すぎる方法を使用することもできます。 –

1

を試してみてください。 my_function(2)で定義した関数とmy_function(2, arg2: 5)を呼び出すことができます。位置引数を使用する場合は、次のように定義することができます。def my_function(arg1, arg2 = nil)

キーワード引数の詳細は次のとおりです。 https://robots.thoughtbot.com/ruby-2-keyword-arguments

関連する問題