作者: HIDAKA Takahiro
日時: 2002/4/03(14:25)
 ひだかです。

kikwai@... (機械伯爵) wrote:

>  機械です(今日で春休み、終わりかぁ・・・)
> 
>  なんか、前聞いたときは、PerlといえばPerl5以前のオブジェクトをサポート
> してないものを指し、Perl5以降はそのように書く、と聞いた覚えがあるんで
> すが・・・

 うーむ。Perl5 ができたのが 1994年10月17日だそうです。

>  Rubyは、組み込み型のメソッド拡張って、出来ますか?(出来たら

 #!/usr/local/bin/ruby
  
  class Object
    def print_to(out = $defout)
      out.print self.to_s
    end
  end

とりあえずちょっと試すくらいならこの定義で充分でしょう。
$defout を変更しても出力先が変更されない、という点で
標準ライブラリと合っていませんが。

  class Object
    def print_to(out = nil)
      (out || $defout).print self.to_s
    end
  end

でも、これでいいのかな。他にもまだ穴があるかも。。

 これで、to_s メソッドが定義されているオブジェクトなら
なんでも print_to できます。調子に乗って、print を同じように
再定義してしまうと、Kernel.print が使えなくなって
しまいました(^_^;

-- 
ひだかたかひろ  cv8t-hdk@...-net.or.jp