Range#=== документация говорит:
Возвращает истину, если OBJ является элементом диапазона, ложь в противном случае. Удобно, === это оператор сравнения, используемый операторами case.
Диапазон (0..9) не является элементом диапазона (0..9), поэтому (0..9) === (0..9)
является ложным.
Range#== документация говорит:
Возвращает TRUE, только если OBJ является диапазоном, имеет эквивалент начало и конец пунктов (сравнивая их с ==), и имеют тот же exclude_end? установка как диапазон.
Начальные и конечные элементы диапазонов (0..9) и (0..9) являются одинаковыми, поэтому (0..9) == (0..9)
является истинным.
Пример использования в случае case: 'case n; когда (0..32); <сделать что-нибудь>; когда (33..64); <сделать что-то еще>: end'. –