Hash-equality of Vectors and Matrices

Yuguiです。

[ruby-dev:36294]に絡んで、VectorとMatrixの仕様に疑問が湧きましたので確認
させてください。

現状までMatrix#eql? と Vector#eql? はそれぞれ == のエイリアスでした(この
エイリアス作成のtypoが[ruby-dev:36294]でした)。

ところで、eql?が同値で判断されるのは望ましい挙動なのでしょうか。
1.eql?(1.0) でないことを考慮すると、
Vector[1].eql?(Vector[1.0]) #=> false
が望ましいのではないでしょうか?

Matrixも同じくです。

Reported by http://pc11.2ch.net/test/read.cgi/tech/1215531152/487-493

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

In message “Re: [ruby-dev:36298] hash-equality of Vectors and Matrices”
on Mon, 15 Sep 2008 10:50:08 +0900, “Yugui (Yuki S.)”
[email protected] writes:

|e$B8=>u$^$Ge(BMatrix#eql? e$B$He(B Vector#eql? e$B$O$=$l$>$le(B == e$B$N%(%$%j%"%9$G$7$?e(B(e$B$3$Ne(B
|e$B%(%$%j%"%9:[email protected]$Ne(Btypoe$B$,e(B[ruby-dev:36294]e$B$G$7$?e(B)e$B!#e(B
|
|e$B$H$3$m$G!"e(Beql?e$B$,F1CM$GH=CG$5$l$k$N$OK>$^$7$$5sF0$J$N$G$7$g$&$+!#e(B
|1.eql?(1.0) e$B$G$J$$$3$H$r9MN8$9$k$H!"e(B
| Vector[1].eql?(Vector[1.0]) #=> false
|e$B$,K>$^$7$$$N$G$O$J$$$G$7$g$&$+e(B?
|
|Matrixe$B$bF1$8$/$G$9!#e(B

e$B$=$NDL$j$G$9$M!#%3%_%C%H$7$F$/[email protected]$5$$!#e(B