まつもと ゆきひろです

In message "Re: [ruby-list:41033] Re: RubyにはPerlのuse strictのようなものはありませんか?"
    on Sun, 14 Aug 2005 14:30:04 +0900, rubikitch <rubikitch / ruby-lang.org> writes:

|> RubyにはPerlの use strict のようなものは、ありませんか。
|
|んー、Rubyは動的な言語なので「とりあえずメソッド呼んでみろ」というスタ
|ンスをとっていると思います。静的言語に慣れているのならば、自前で型チェッ
|クするのが現実的なのではないでしょうか?
|
|def square(x)
|  raise TypeError unless Numeric === x
|  x**2
|end

うーん、止める義理はないのですが、この種のタイプチェックは
DuckTypingが適用できなくなるのでお薦めしません。たとえば、IO
を要求するときに

  raise TypeError unless IO === x

と書いてあったらStringIOが適用できなくなります。もったいない。