Выражения эквивалентны, но при последовательном вызове не будут возвращать тот же результат.Примечание:
Time.now == Time.now #=> false
Time.now - Time.now #=> Some really small negative number
Если вы наберете Time.now
два раза подряд, второй произойдет после первого, верно?Даже если это очень короткое время спустя.
Я бы не сказал, что любая форма более правильная.Если вы сохраните Time.now
и проведете такое же сравнение, вы получите ожидаемый результат.
t = Time.now
t.utc = 10.hours == (t - 10.hours).utc #=> true