Поддерживается ли рубиновая поддержка в случае с выражением? Я хочу сделать это: case cost when cost between 1 and 3 then cost * 1.1 when cost between 3 and 5 then cost * 1.2 else 0 Ответ 1 Да, поскольку Range#=== определяется как то же, что и include?, вы можете использовать диапазоны в операторах case: case cost when 1..3 then cost * 1.1 when 3..5 then cost * 1.2 Ответ 2 Да. Я не знаю, почему вы не подумали об этом Google или просто попробуйте (что является красотой Ruby, IMO: все работает так, как вам кажется), но я отвечу точно так же: http://ilikestuffblog.com/2008/04/15/how-to-write-case-switch-statements-in-ruby/ В частности: case expression when min..max statements else statements end
Ответ 1 Да, поскольку Range#=== определяется как то же, что и include?, вы можете использовать диапазоны в операторах case: case cost when 1..3 then cost * 1.1 when 3..5 then cost * 1.2
Ответ 2 Да. Я не знаю, почему вы не подумали об этом Google или просто попробуйте (что является красотой Ruby, IMO: все работает так, как вам кажется), но я отвечу точно так же: http://ilikestuffblog.com/2008/04/15/how-to-write-case-switch-statements-in-ruby/ В частности: case expression when min..max statements else statements end