# Operator redefinition in YARV

**URL:** <https://www.ruby-forum.com/t/operator-redefinition-in-yarv/103120>\
**Category:** Development\
**Created:** [May 2, 2007, 1:49am UTC](https://www.ruby-forum.com/t/operator-redefinition-in-yarv/103120 "2007-05-02T01:49:15Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yukihiro\_M](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c57346/32.png) [@Yukihiro\_M](https://www.ruby-forum.com/u/Yukihiro_M)\
**Post date:** [May 2, 2007, 1:49am UTC](https://www.ruby-forum.com/t/operator-redefinition-in-yarv/103120/1 "2007-05-02T01:49:15Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

e$B%a%bBe$o$j$G$9!#e(B

YARVe$B$G$O1i;;;R%a%=%C%I$N:FDj5A$K$^$@BP1~$7$F$$$J$$$N$G$9$M!#e(B  
mathne$B$,F0$-$^$;$s!#e(B

e$BD\>$=$&$H;W$C$?$1$I!"$I$3$G1i;;;R$rFCJL07$$$7$F$k$+$o$+$j$^$;e(B  
e$B$s$G$7$?!#e(B

---

<div class="post-metadata">

**Author:** ![Yukihiro\_M](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c57346/32.png) [@Yukihiro\_M](https://www.ruby-forum.com/u/Yukihiro_M)\
**Post date:** [May 2, 2007, 3:56am UTC](https://www.ruby-forum.com/t/operator-redefinition-in-yarv/103120/2 "2007-05-02T03:56:22Z")

</div>

e$B!!$5$5$@$G$9!%e(B

Yukihiro M. wrote:

> YARVe$B$G$O1i;;;R%a%=%C%I$N:FDj5A$K$^$@BP1~$7$F$$$J$$$N$G$9$M!#e(B  
> mathne$B$,F0$-$^$;$s!#e(B

e$B!!BP1~$7$F$$$^$9!%e(B

[Fixnum, Float, Bignum].each{|klass|  
klass.class\_eval{  
[:+, :-, :/, :\*].each{|op|  
eval %{  
def #{op}(a)  
‘#{klass}##{op}’  
end  
}  
}  
}  
}

b = 100 \*\* 100  
p([1+2, 1-2, 1/2, 1_2])  
p([1.1+2, 1.1-2, 1.1/2, 1.1_2])  
p([b+b, b-b, b/b, b\*b])  
#=\>  
[“Fixnum#+”, “Fixnum#-”, “Fixnum#/”, “Fixnum#_"]  
[“Float#+”, “Float#-”, “Float#/”, "Float#_”]  
[“Bignum#+”, “Bignum#-”, “Bignum#/”, “Bignum#\*”]

e$B!!B?J,!$%P%0$,$"$k$H;W$&$s$G$9$,!$!J=PMh$l$P\>.$5$$!K:F8=%W%m%0%i%`$r65$(e(B  
e$B$F$$$?$@$1$^$;$s$+!%e(B

---

<div class="post-metadata">

**Author:** ![Yukihiro\_M](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c57346/32.png) [@Yukihiro\_M](https://www.ruby-forum.com/u/Yukihiro_M)\
**Post date:** [May 2, 2007, 6:59am UTC](https://www.ruby-forum.com/t/operator-redefinition-in-yarv/103120/3 "2007-05-02T06:59:33Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:30745] Re: operator redefinition in YARV”  
on Wed, 2 May 2007 10:55:43 +0900, SASADA Koichi [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
writes:

|Yukihiro M. wrote:  
|\> YARVe$B$G$O1i;;;R%a%=%C%I$N:FDj5A$K$^$@BP1~$7$F$$$J$$$N$G$9$M!#e(B  
|\> mathne$B$,F0$-$^$;$s!#e(B  
|  
|e$B!!BP1~$7$F$$$^$9!%e(B

e$B$G$9$M$(!#%a!\<%k=P$7$?D\>8e$K\<j85$G;w$?$h$&$J$3$H$r$7$?$i$A$ce(B  
e$B$s$HF0$$$A$c$$$^$7$?!#$4$a$s$J$5$$!#e(B

|e$B!!B?J,!$%P%0$,$"$k$H;W$&$s$G$9$,!$!J=PMh$l$P\>.$5$$!K:F8=%W%m%0%i%`$r65$(e(B  
|e$B$F$$$?$@$1$^$;$s$+!%e(B

% ruby1.8 -r mathn -e ‘p (25/11)’  
25/11  
% ruby1.9 -r mathn -e ‘p (25/11)’  
2

e$B$G$9!#e(Bmathne$B$,Bg$-$$$s$G$"$^$j\>.$5$/$J$$:F8=%W%m%0%i%`$G$9$,!#e(B

---

<div class="post-metadata">

**Author:** ![Yukihiro\_M](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c57346/32.png) [@Yukihiro\_M](https://www.ruby-forum.com/u/Yukihiro_M)\
**Post date:** [May 2, 2007, 8:24am UTC](https://www.ruby-forum.com/t/operator-redefinition-in-yarv/103120/4 "2007-05-02T08:24:38Z")

</div>

e$B!!$5$5$@$G$9!%e(B

Yukihiro M. wrote:

> % ruby1.8 -r mathn -e ‘p (25/11)’  
> 25/11  
> % ruby1.9 -r mathn -e ‘p (25/11)’  
> 2

e$B!!e(Bremove\_method e$B$He(B alias  
e$B$G:FDj5A%A%’%C%/$r$7$F$$$J$+$C$?$N$,860x$G$7e(B  
e$B$?!%D\>$7$^$7$?!%e(B
