ひだかです。
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