Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

When 100 .. 999

"Тризначне"

Else

Величезне"

End

puts "Введено # {s} число."

 

Тут ми знову скористалися оператором.. (двікрапки), який повертає список цілих чисел, укладених між лівим і правим операндами (включаючи їх самих).

 

Цикли

Для завдання повторюваних дій в більшості мов програмування використовуються оператори циклу. В Ruby є два таких оператора - while і until, а також велика кількість ітераторів.

Оператор while виконує оператори, що становить його тіло, нуль чи більше разів, до тих пір, поки істинно його умова, що задається деяким логічним виразом. Його загальний вигляд такий:

 

while <вираз> [do]

...

тіло циклу

...

End

 

Іншим оператором циклу є until, що виконується до тих пір, поки його умова хибна:

until <вираз> [do]

...

тіло циклу

...

End

 

Приклад. Розглянемо програму, друкуючу числа від 1 до 5. Спочатку використовуємо оператор while, потім until. Зверніть увагу, що умова закінчення одного оператора циклу є запереченням умови іншого оператора.

 

i = 1

while i <= 5

puts i; i + = 1

End

# ще раз

i = 1

until i> 5

puts i; i + = 1

End

 

Крім цих двох операторів циклу в Ruby є велика кількість, так званих, ітераторів (iterate - повторювати). Давайте подивимося на приклади їх використання. Конструкція

 

Times do

print "Ау!"

End

 

використовує ітератор times. Цикл, заданий таким чином, виконається рівно три рази.

У випадку, коли потрібно виконати деякі дії, що залежать від змінної величини, кілька разів, можна використовувати ітератор upto, так в процесі виконання програми

 

0.upto (9) do |x| print x, "" end

 

буде надруковано 0 1 2 3 4 5 6 7 8 9.

Повтор від 0 до 12 з кроком 3 можна записати за допомогою ітератора step:

 

0.step (12, 3) {| x | print x, ""} # 0 3 6 9 12

 

При роботі з масивами зручно використовувати ітератор each:

[1, 1, 2, 3]. Each {| k | print k, ""} # 1 1 2 3

 

Ітератор for in дуже схожий на each, наприклад, висновок, отриманий у результаті виконання наступних двох конструкцій однаковий.

 

for i in ["one", "two", "three"]

print i, ""

End

# Те ж саме

["one", "two", "three"]. Each {| i | print i, ""}

 

Ітератор for зазвичай використовують там же, де і ітератор each - при роботі з масивами і діапазонами. Загальний вид оператора for такий:

for <змінна> in <вираз> [do]

тело_ітератора

End

 

Приклад. Перепишемо програму друку чисел від 1 до 5 з використанням оператора for:

 

For i in 1.. 5

Puts i

End

 

У цьому прикладі ми знову скористалися оператором завдання діапазону.. (Двокрапка), який дозволив нам створити список чисел від 1 до 5 (включно). Схожий оператор... (Три крапки) при створенні діапазону не включає в нього правий операнд. Фрагмент програми, розташований нижче, еквівалентний попередньому.

 


Дата добавления: 2015-08-09; просмотров: 92 | Нарушение авторских прав


Читайте в этой же книге: Оператор GROUP ВУ | Итоговые функции | Def howBig (i) |
<== предыдущая страница | следующая страница ==>
Puts howBig(7); puts howBig(15)| For i in 1 ... 6

mybiblioteka.su - 2015-2024 год. (0.006 сек.)