ydakuka
@ydakuka
Ruby developer

Сравнение object_id для float значений?

Есть код:
a = 0.1
b = 0.1
a.object_id == b.object_id

Верно будет true или false, потому как разные irb выдают разные значения?
8c2d5b81b83d4a6e852970603f386a5d.png
  • Вопрос задан
  • 113 просмотров
Решения вопроса 1
@thepry
Ruby on rails, 1С разработчик
Разные версии руби? В ruby 2 оптимизировали float

# Ruby 1.9
4.2.object_id == 4.2.object_id # => false

# Ruby 2.0
warn "Optimization only on 64 bit systems" unless 42.size * 8 == 64
4.2.object_id == 4.2.object_id # => true (4.2 is immediate)
4.2e100.object_id == 4.2e100.object_id # => false (4.2e100 isn't)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы