Я новичок в Ruby, и я пытаюсь выяснить, как ceil
и floor
работает, поскольку я получаю разные ответы, когда используется дробь или десятичное число (аналогичное значение). Ниже то, что я пробовал:Ruby .ceil и .floor
puts 8/3.ceil == 2
puts 8/3.floor == 2
puts 2.67.ceil == 2
puts 2.67.floor == 2
Результаты:
true
true
false
true
Из моего понимания, ceil
должен возвращать несколько выше и floor
ряд ниже. Надеюсь, кто-то может просветить меня по этому поводу. Спасибо! :)
Также стоит упомянуть '8/3.floor' на самом деле' 8/(3.floor) ', так как' .' связывает сильнее, чем '/'. – tadman
@tadman thx для приятной точки, отредактировал naswer –
Ahh alright! Итак, для первой строки это фактически делает 3.ceil сначала, в результате получается 3, а затем целочисленное деление 8/3, поэтому это 2 (true) вместо 3 (false), как 3-я строка. Исправьте меня, если я ошибаюсь :) – misokuan