From: rubikitch@... Date: 2007-12-13T01:16:02+09:00 Subject: [ruby-list:44344] Re: クラス:相互参照系の作成方法について質問です From: "Saburoh Sakai" Subject: [ruby-list:44343] Re: クラス:相互参照系の作成方法について質問です Date: Thu, 13 Dec 2007 00:59:10 +0900 るびきちです。 > >> c.setD( a ) # > >> 最後の行、これはエラーになりますね、正しいポリシーとは > >> 見なされなかった、といったところでしょうか。 > (snip) > class A > end > > の、インスタンス > > a=A.new() > > のつもりでした。AはFlip()というメソッドを持たないため、Flip()という > メソッド を持つクラスが入力引数となることを前提にして書かれた > CのsetD() メソッドの引数に、dではなくaを与えるとエラーになるはず > と考え、実際エラーになったので、そのことを書いたつもりでした。 その通りです。 逆に言うと無引数のFlipメソッドを持つオブジェクトならば どんなクラスのオブジェクトでもsetDに渡せます。 C言語等の静的型付に慣れている人はRubyの動的型付に慣れるのは 少し時間がかかるかもしれません。異文化ですから。 静的型付、動的型付にはどちらもメリット・デメリットがあります。 Rubyしていると型が恋しくもなるでしょう。 間違った型を引数に渡しそうで不安ならば、 なおさらユニットテストをしっかり書いておくといいです。 # Flipとcapitalizeしているのはなにか意図がありますか? -- rubikitch Blog: http://d.hatena.ne.jp/rubikitch/ Site: http://www.rubyist.net/~rubikitch/