Поиск по сайту:
Кто неприметен — безвестен, а разве безвестное любят? (Овидий).

Ruby — if…else, case, unless

[wtr-time]
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
05.07.2018
Язык программирования Ruby

Ruby предлагает условные операторы, которые встречаются довольно часто в современных языках. Здесь мы объясним все условные операторы и модификаторы, доступные в Ruby.

Оператор if…else в Ruby

Синтаксис

if conditional [then]
   code...
[elsif conditional [then]
   code...]...
[else
   code...]
end

 

Выражение if используются для условного выполнения. Ценности false и nul являются ложными, все остальное — истина.

Выполняет code, если if правда. Если if не верно, code, указанный в else не выполняется.

Выражение if отделен от кода, зарезервированным словом then, переводом строки или точкой с запятой.

Пример

#!/usr/bin/ruby

x = 1
if x > 2
   puts "x больше 2"
elsif x <= 2 and x!=0
   puts "x is 1"
else
   puts "Я не могу угадать номер"
end

 

x is 1

Модификатор if в Ruby

Синтаксис

code if condition

Выполняет code, если if истинен.

Пример

#!/usr/bin/ruby

$debug = 1
print "debug\n" if $debug

 

 

Вывод будет следующий:

debug

Заявление if в Ruby

Синтаксис

unless conditional [then]
   code
[else
   code ]
end

Выполняет if, если if ложь. Если if верно, код, указанный в else не выполняется.

Пример

#!/usr/bin/ruby

x = 1 
unless x>=2
   puts "x меньше 2"
 else
   puts "x больше 2"
end

 

Вывод будет следующий:

x меньше 2

Модификатор unless в Ruby

Синтаксис

code unless conditional

Выполняет code, если if является ложь.

Пример

#!/usr/bin/ruby

$var =  1
print "1 -- Значение\n" if $var
print "2 -- Значение\n" unless $var

$var = false
print "3 -- Значение\n" unless $var

 

 

Вывод будет следующий:

1 -- Значение
3 -- Значение

Заявление case в Ruby

Синтаксис

case expression
[when expression [, expression ...] [then]
   code ]...
[else
   code ]
end

 

Сравнивает expression указанного case и указанного при использовании оператора === и выполняет соответствующий code.

В expression указано, что when оценивается как левый операнд. Если нет, когда when совпадают, case выполняет код из класса else.

А заявление when это выражение отделяется от кода, зарезервированным словом then, переводом строки или точкой с запятой. Таким образом:

case expr0
when expr1, expr2
   stmt1
when expr3, expr4
   stmt2
else
   stmt3
end

 

в основном, подобный следующим:

_tmp = expr0
if expr1 === _tmp || expr2 === _tmp
   stmt1
elsif expr3 === _tmp || expr4 === _tmp
   stmt2
else
   stmt3
end

 

Пример

#!/usr/bin/ruby

$age =  5
case $age
when 0 .. 2
   puts "младенец"
when 3 .. 6
   puts "маленький ребенок"
when 7 .. 12
   puts "ребенок"
when 13 .. 18
   puts "подросток"
else
   puts "совершеннолетний"
end

 

Вывод будет следующий:

маленький ребенок

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Спасибо!

Теперь редакторы в курсе.