Задать вопрос
ydakuka
@ydakuka
Ruby developer

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

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

Верно будет true или false, потому как разные irb выдают разные значения?
8c2d5b81b83d4a6e852970603f386a5d.png
  • Вопрос задан
  • 115 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Code Basics
    Ruby для начинающих
    1 месяц
    Далее
  • Skillbox
    Ruby on Rails с нуля
    10 месяцев
    Далее
  • Хекслет
    Разработчик на Ruby on Rails
    5 месяцев
    Далее
Решения вопроса 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)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы