Читайте также: |
|
If 23
puts "23 є ІСТИНА"
End
if "qq"
puts "І будь-який рядок є ІСТИНА"
End
Ruby підтримує всі стандартні логічні оператори, а також додатковий оператор defined? Для кон’юнкції двох логічних виразів використовуються and і &&. Їх результат буде правдивий тільки якщо істинні обидва операнда. Ці функції обчислюють інший операнд лише тоді, коли перший правдивий, а відрізняються вони лише своїм пріоритетом (пріоритет оператора and менше &&).
В свою чергу результатом виконання операторів or і || (диз’юнкції) буде істина, якщо хоча б один з операндів правдивий. Вони обчислюють інший оператор тільки в тому випадку, якщо перший виявиться помилковим. Як і у випадку з оператором and, оператор or має менший пріоритет у порівнянні з || (відзначимо, що оператор and має пріоритет, рівний пріоритету оператора or, в той час як пріоритет && вище, ніж у ||).
Оператори not і! повертають значення, протилежне своєму аргументу (якщо аргумент правдивий, то результат хибний, і навпаки). Між собою відрізняються тільки пріоритетом.
Оператор defined? повертає nil, якщо його аргумент не визначений, і його опис в іншому випадку. Нижче наведені приклади застосування цього оператора.
puts defined? 1
puts defined? Dummy
puts defined? Printf
puts defined? (с, d = 1, 2)
puts defined? 42.abs
У логічних виразах допускаються також наступні операції порівняння: == <, <=, >=, >, !=.
Синтаксис умовного оператора if в мові Ruby аналогічний його синтаксису в більшості інших мов програмування.
# Визначення методу оцінки величини виразу
Def howBigPrint (i)
if i <10
puts "Число # {i} менше 10"
elsif i <20
puts "Число # {i} між 10 і 20"
elsif i <30
puts "Число # {i} між 20 і 30"
Else
puts "Число # {i} більше або дорівнює 30"
End
End
# Використання методу...
HowBigPrint(7); howBigPrint(15)
HowBigPrint(23); howBigPrint(105)
Загальна форма оператора if така:
if <логічний_вираз> [then]
тіло_оператора
elsif < логічний_вираз > [then]
тіло_оператора
...
Else
Тело_оператора
End
Тут <логіческое_вираженіе> може бути будь-яким фрагментом коду на мові Ruby, результатом обчислення якого є логічна величина (з урахуванням сказаного вище). Слово then відокремлює тіло оператора від умови. Запис його в квадратних дужках означає, що воно може бути опущено, якщо тіло починається з нового рядка. Значення, що повертається оператором if, є результат останнього обчисленого виразу. Змінимо наш приклад, щоб продемонструвати сказане:
# Метод оцінки величини виразу
# Тепер повертає рядок
def howBig (i)
if i <10 then "Аргумент менше 10"
elsif i <20 then "Аргумент між 10 і 20
elsif i <30 then "Аргумент між 20 і 30"
else "Аргумент більше або дорівнює 30"
End
End
# Використання методу...
Дата добавления: 2015-08-09; просмотров: 77 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Итоговые функции | | | Puts howBig(7); puts howBig(15) |