From: Tanaka Akira Date: 2003-07-28T00:10:13+09:00 Subject: [ruby-dev:20945] Re: Rational 始めました。 In article <200307271500.AAA04363.keiju@bc.mbn.or.jp>, keiju@ishitsuka.com (石塚圭樹) writes: > Rationalの内部的には, 約分しないnewがほしかったのですが, それは, > Ratinal.newでしか実現できないからでした. でも, 一般には約分しないnewを > 公開したくはなかったのでした. > > ですので, Ratinal.new!をallocateを使って再定義しないとまずいですね. いや、alias すれば可能なんじゃないかと思うんですが。 class << Rational alias new! new end def Rational.new(n, d) n, d = 約分(n, d) new!(n, d) end alias より allocate のほうが思いつきやすいのかなぁ。 -- [田中 哲][たなか あきら][Tanaka Akira]