|
Puts howBig(23); puts howBig(105)
Для виконання одного варіанту з двох можливих використовується наступна форма оператора if:
if <логічний_вираз> [then]
тіло_оператора
Else
тіло_оператора
End
У наступному фрагменті порівнюється значення змінної i з числом 100.
if i <100
puts "Мало"
Else
puts "Значно більше"
End
Оператор if може використовуватися в правій частині оператора присвоєння, наприклад,
str = if i <100 then "Мало" else "Побільше" end
Puts str
Для аналогічних цілей використовується і тернарний оператор
логічний_вираз? вираз1: вираз2
Якщо логічний_вираз істинно, то виконується вираз1, інакше - вираз2. Подивіться на приклади використання цього оператора:
i = 23
i <100? puts ("Мало"): puts ("Значно більше")
i = 1234
s = i <100? "Мало": "Значно більше"
Puts s
Як бачите, цей оператор особливо зручний, якщо потрібно змінній присвоїти одне з двох значень.
Приклад Напишіть програму, що визначає парність введеного числа.
print "Введіть ціле число:" a = gets.to_i
str = a%2 == 0? "Парне": "непарній"
puts "Число # {a}" + str
Якщо потрібно виконати послідовність операторів тільки в тому випадку, коли виконано деяка умова, то використовується форма
if <логічний_вираз> [then]
тіло_оператора
End
Для цієї ж мети можна використовувати і модифікований оператор if:
вираз if <логічний_вираз>
Нижче наводяться дві версії фрагмента програми, що використовує оператор if:
if radiation> 3000
puts "Радіаційна небезпека!"
End
# Те ж саме
puts "Радіаційна небезпека!" if radiation> 3000
Приклад Напишіть програму, що визначає, чи є введена фраза паліндромом (перевернутою).
puts "Введіть фразу:"
a = gets.chop!.delete (‘‘) # видалили всі прогалини
a = a.tr (‘AZ, А-Я’, ‘az, а-я’) # заміна букв на прописні
str = "паліндром"
str = "не" + str if a! = a.reverse # перевірка
puts "Введена фраза -" + str + "."
При виборі з більшого числа альтернатив зручніше використовувати оператор case. Нижче наведено його загальний вигляд:
case <вираз>
when <тест1> [then]
...
when <тест2> [then]
...
when <тестN> [then]
...
[else
... ]
End
У операторі case <вираз> послідовно порівнюється з виразами <тест> до тих пір доки, воно не співпаде з одним з них (порівняння проводиться за допомогою операції ==), після чого виконується відповідний фрагмент коду. Оператор case повертає значення останнього обчисленого виразу, або nil, якщо такого не було.
s = case i
When 0.. 9
"Однозначне"
When 10.. 99
"Двозначне"
Дата добавления: 2015-08-09; просмотров: 86 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Def howBig (i) | | | When 100 .. 999 |