たけ(tk)です。

IWAOKA Masahiro さん曰く。
》これですと、配列の中身が事前にわかっていて、各々に "width" のようなメソッドを定義してやったり、異るクラス間の "+" を定義してやったりしないと使えませんよね。
》
》例えば、文字列と Fixnum を "+" した時の挙動とか、nil を "+" した時の挙動とか、配列と Fixnum を "+" した時の挙動とか、全て決めてやらなければならないので、一般的なものを作るのは大変でしょう。

 sum を使いたいのは配列の中身が数値であることを知っている場合なので問題
ないのでは?。join でも中身が文字列にして意味がある物であることを知って
いる場合に使うものでしょう。

 配列の中で sum に適さないものがあれば例外を投げればよい。というか、今
のままでもそうなっている。

p [ 1, 2, 3.5 ].sum				##	6.5
p [ 100000000000, 2, 3.5 ].sum	##	1.0e+011
p [ 100000000000, 2, 3 ].sum	##	100000000005
p [ "1", "2", "3" ].sum			##	String can't be coerced into Fixnum

require "complex"
p [ Complex(1,2), 3.5].sum		##	Complex(4.5, 2)

たけ(tk) ggb03124 / nifty.ne.jp
http://member.nifty.ne.jp/take_tk