まつもと ゆきひろです

In message "[ruby-list:35618] new mathn [Re: Rational#to_int ← String#center]"
    on 02/07/23, 石塚圭樹 <keiju / rational.com> writes:

|これを使うとmathnは以下のように使えるようになります.
|
|require "other"
|
|1/2 #=> Rational(1,2)
|Mathn::NormalBehavior.scope_in do
|  # このブロックの中では通常のRubyの振る舞い
|  1/2 #=> 0
|  other_obj.message
|  Mathn::MathnBehavior.scope_in do
|    # このブロックの中では通常のMathnの振る舞い
|    1/2 #=> Rational(1,2)
|    other_obj.message
|  end
|end

どのように実現するかはともかく、Perlの use integer のような
文法で指定できるとよいでしょうね。個人的には以下のようなのを
夢想してます。

def foo(a,b)
  a/b
end


def bar(a,b)
  use DivFloat
  a/b
end

use DivRat

a = 1
b = 2

a/b # => Rational(1,2)
foo # => 0
bar # => 0.5

問題はどのように意味づけするかですが...

                                まつもと ゆきひろ /:|)