0
このコードでは、私の理解では、3番目と2番目の例の間に異なる結果が生じるべきではありません。rubyの大きな相違アクティブなサポートで使用される時間計算
0> Time.utc(1999, 12, 29) - Time.utc(1999, 12, 29)
=> 0.0
0> Time.utc(1999, 12, 29) + 1.month - Time.utc(1999, 12, 29)
=> 2678400.0
0> 1.month.to_i
=> 2592000
奇妙なことに、私はすべてをFixnumに変換すると予想外の動作に戻ります。
0> Time.utc(1999, 12, 29).to_i + 1.month.to_i - Time.utc(1999, 12, 29).to_i
=> 2592000
何が起こっているのですか?
私はそれを得ていると思うが、証拠を見つけることができないと思う.. "+ 1.month"はそれが付されている月に適応する?結果は私の最後の例が期待どおりに働く(to_i)というのは月に文脈がないので現在の月が使われるからです。 –