воскресенье, 5 августа 2012 г.

Switch Statement. Case..when..else.

Basic Switch Statement. (Control Flows).

Я так поняла, это почти то же самое, что и if, else, elsif. Только в случае с case сюда можно впихнуть больше значений.

Код:


exp = 2
case exp
when 1
print "one"
when 2
print "two"
else
print "not 1 nor 2"
end


Вывод:

two

1. Задаем переменную exp, равную 2.
2. Case exp. Ну, типа, в нашем случае - 2.
3. Опять-таки задаем условие. Когда 1, пишем "один", когда 2, пишем "два". А если не то и не другое, пишем "Не 1 и не 2".

Т.к. у нас exp = 2, вывод у нас получился "two".

Код:


grade = 13
school = case grade
when 0..5
"elementary"
when 6..8
"middle school"
when 9..12
"high school"
else
"college"
end
print "grade #{grade} is in #{school}"



Вывод:

grade 13 is in college

1. Мы задаем переменную grade = 13.
2. Дальше задаем переменную school = case grade. Т.е. school уже равна не просто grade, а обработанному grade. Обработанному с помощью case. Case смотрит, куда входит 13. И думает. Когда 0..5 - выдам  "elementary". Но у нас 13. Значит идет дальше. С 6..8 и с 9..12 тоже не подходит. Значит идет в последнюю инстанцию. Если все исключено, значит сюда, в else.

Т.о. на экран выводится Grade 13 (это переменная #{grade} ) is in college (это переменная  #{school}).

Комментариев нет:

Отправить комментарий