From: "前川 映一" Date: 2009-08-20T16:52:02+09:00 Subject: [ruby-list:46309] Re: rubyのメソッドの切り替えについて 前川です。 るびきちさん ありがとうございます。 rubikitch@ruby-lang.org wrote on 2009/08/20 16:24:26: > From: "前川 映一" > Subject: [ruby-list:46303] rubyのメソッドの切り替えについて > Date: Thu, 20 Aug 2009 15:46:54 +0900 > るびきちです。 > > def test( a,b,c) #パターン1 > > 〜処理〜 > > end > > > > def test( a,b,c,d ) #パターン2 > > 〜処理〜 > > end > > > > cc = test( a,b,c ) > > dd = test( a,b,c,d ) > > > > ee = cc + dd > > > > とした場合、同じ名称でも引数が異なるため、 > > 別々のメソッドとして、扱えるのでしょうか? > 無理です。可変長引数や省略可能引数で代用しましょう。 > 同じ名前のメソッドである以上、なんらかの関連性があるはずです。 > > # このサンプルは恣意的なものです:-) > def test(a, b, c, d=nil) > if d # 4引数の場合 > a+b+c+d > else > a*b*c > end > end > cc = test(1, 2, 3) # => 6 > dd = test(1, 2, 3, 4) # => 10 > ee = cc + dd # => 16 変数分を確保し、データが設定された場合に、 追加の変数による処理を記述することで、対応出来るのは わかるんですが・・・ 言語の特徴の違いを認識し、今後の作業に活かさせてもらいます。 ありがとうございました。