https://github.com/ksss/overflow
勢いで作ったライブラリをちょちょっと整理してNumericクラスを継承させました。
だからどうということはあまりないのですが、Numericのメソッドが全て使えます。
http://docs.ruby-lang.org/ja/2.0.0/class/Numeric.html
基本的にRubyのコードはgithubのtrunkを読んでいるのですが、 このドキュメントと実際の仕様が違っているところがいくつかあってどうすれば直せるんだろうとか2.1.0そろそろ出るからあんま意味ないかなとか思いました。
さて、このバージョンでcoerce
メソッドに対応させたのでこんなこともできます。
c = Overflow.new "c", 5 p (c + 10).to_i #=> 15 p (10 + c) #=> 15
またタイプはより厳密にpackっぽくi
はint
,I
はunsigned int
を表すようにしました。
あと地味にこの前作ったlimitsをテスト用に依存させています。これmrubyで作ったほうがいいような気がしてきた。
主要でないメソッドは使えはするけど効率は度外視しています。効率を求める方は是非pull requestをお願いします!