2012年6月15日金曜日

Ruby StringにFixnumを加算(+)してもエラーにならない。毎回to_sをしなくてもいい

中の人です。

普通、RubyのStringとFixnumを加算(文字列結合)するとエラーになるので
"String"+Fixnum.to_s とする。

数値部分が多くなるとかなり、長く、醜い見にくい状態になります。

ネタなので実用性などは置いておいて・・・

#Stringクラスの演算子を置き換える。
class String
  def +(other)
    if other.class != "String" #:String の方がいいかな
      val = other.to_s
    else
     val = other
    end
    tmp = self.clone
    tmp << val
  end
end



これでto_sを書き忘れても安心!

追記

"String#{Fixnum}String"でいい気がする。

0 件のコメント:

コメントを投稿