読者です 読者をやめる 読者になる 読者になる

Overflow v0.0.1リリース

日記 Ruby コード

https://github.com/ksss/overflow

とは言え作り途中なのに見切り発車的に出しちゃいました……!

Rubyでは桁あふれは通常有り得ません。Fixnumを超える数値(0x4000_0000_0000_0000以上?)になるとBignumに自動的に切り替わります。

しかしbit操作をしてわざと桁あふれを起こしたいとき、Rubyでは計算のたびにこんな感じで& 0xffffffffなんて書いていくことになり面倒なことになります。こんなときはOverflowが役立ちます。

OverflowではCの型をラップしてFixnumと同じ(似て非なるものですが……)メソッドを使って指定した範囲を超えるような計算をた場合、ワザとあふれた分を捨ててしまいます。

こんなものが何に役立つかというとまあ特に考えていません!!!

ただmurmur_hashを書いてみると毎回こんな感じに& 0xffffffffと書いているとCと同じように書ければCと同じように考えてコードが書けるなと思いつき書いてみました。

Rubyでワザと桁あふれ計算をさせたい場合は是非Overflowをよろしくお願いします!