From: TOYOFUKU Chikanobu Date: 2003-03-09T23:43:18+09:00 Subject: [ruby-dev:19780] Re: File.open with block calls IO#close even if it is overriden 豊福です。 まつもとさん >|| 良いかどうかはわかりませんが、素朴に思いつくのは。 >|| Fixnum#<=> の再定義を監視しておいて、 >|のような方法はダメですか。 > > なんか苦労の割に得られるものが少ないので、あんまり採用したく if (FIXNUM_P(*a)) { if (FIXNUM_P(*b) && Fixnumのcmpデフォルトのままフラグ) return *a - *b; } else if (TYPE(*a) == T_STRING && TYPE(*b) == T_STRING && Stringのcmpデフォルトのままフラグ) { return rb_str_cmp(*a, *b); } ぐらいならどうですか。 --- 豊福 toyofuku@juice.or.jp