[#44310] プログラムに対して意図したとおりの文字列を渡す方法 — "Information Kanasansoft" <kanasansoft@...>

kanasanです。

9 messages 2007/12/05

[#44332] クラス:相互参照系の作成方法について質問です — "Saburoh Sakai" <sabroh@...>

はじめまして、さかいと申します。

12 messages 2007/12/11

[#44366] Rake改善プロジェクト — "Hajime Hoshi" <hajimehoshi@...>

東京大学修士 1 年の星一と申します。

14 messages 2007/12/19

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

From: rubikitch@...
Date: 2007-12-12 16:16:02 UTC
List: ruby-list #44344
From: "Saburoh Sakai" <sabroh@tkc.att.ne.jp>
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/

In This Thread