8/23
リズと青い鳥
恋は雨上がりのように
みた。
よいおじさん映画だった。店長の家の雰囲気がよかった。あんな書斎のような部屋に住みたい。戸次重幸の役柄との関係性も見ていてよかった。あきらが可愛くて輝いて見えた。これが若さか。
Integer Unificationの判定方法
CRuby 2.4から整数がIntegerに統合されるとともにその子クラスであるFixnumとBignumが廃止されたが、下記のようなコードを使えばそれを手軽に判定できる。
if 1.class.name == "Integer" # 統合後の処理 else # 統合前の処理 end
このようにバージョン番号を使わずに判定することで、JRubyなどの別実装で同様の変更がかかっても同じコードで対応できる。
ちなみにdefined?(Fixnum)
でも同じ判定ができるんだろうけど、
- Fixnumがなにがしかで引き続き定義されてたら期待通りに動かない
- 手軽に互換性を維持しようとして
class Fixnum < Integer; end
してるとか
- 手軽に互換性を維持しようとして
- Bignumが忘れられてるようでかわいそう
といったあたりが気になるので、今回のような判定方法のほうが個人的には好き。