2007年12月13日

[ruby-list:44344] Re: クラス:相互参照系の作成方法について質問です

From: "Saburoh Sakai" <sabroh@xxxxx>
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/

投稿者 xml-rpc : 2007年12月13日 01:16
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/67576
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。