Ruby Loops - пока, пока, не сломай, повтори и повтори
Руби Лупс
Например, вы хотите напечатать строку десять раз. Вы можете набрать десять операторов print, но проще использовать цикл. Единственное, что вам нужно сделать, это настроить цикл для выполнения одного и того же блока кода указанное количество раз. Здесь мы обсудили операторы цикла, поддерживаемые Ruby.
Рубиновый оператор
Оператор while прост, он выполняет код многократно, пока выполняется условие. Условный цикл while отделяется от кода зарезервированным словом do, символом новой строки, обратной косой чертой / или точкой с запятой.
Синтаксис:
пока условно [до] код конец
Пример:
В следующих кодах печатаются числа от 0 до 10. Условие a <10 проверяется перед вводом цикла, затем выполняется тело, затем снова проверяется условие. Когда условие приводит к ложному, цикл прерывается.
x = 1
y = 11
while x < y do
print x ,". Ruby while loop.\n"
x +=1
end
Выход:
1. Рубиновый цикл. 2. Рубиновый цикл. 3. Рубиновый цикл. 4. Рубиновый цикл. 5. Рубиновый цикл. 6. Рубиновый цикл. 7. Рубиновый цикл. 8. Рубиновый цикл. 9. Рубиновый цикл. 10. Рубиновый цикл.
В операторе while ключевое слово do является необязательным. Следующий цикл эквивалентен вышеуказанному циклу:
x = 1
y = 11
while x < y
print x ,". Ruby while loop.\n"
x +=1
end
Ruby while модификатор:
Как если и если, в то время как можно использовать в качестве модификаторов.
x = 0
x += 1 while x < 10
p x # prints 10
Вы можете использовать начало и конец, чтобы создать цикл while, который запускает тело один раз перед условием:
x = 0
begin
x += 1
end while x <10
p x # prints 10
Рубин до Заявления:
Цикл till выполняется, пока условие ложно. Условный цикл до конца отделяется от кода зарезервированным словом «до», новой строкой, обратной косой чертой / или точкой с запятой. Как цикл while, do является необязательным.
Синтаксис:
до условного [сделать] код конец
Пример:
Следующий скрипт печатает числа от 1 до 10. Подобно циклу while условие x> 11 проверяется при входе в цикл и каждый раз, когда выполняется тело цикла. Если условие ложно, цикл продолжит выполняться.
x = 1
y = 11
until x > y do
print x ,". Ruby while loop.\n"
x +=1
end
Выход:
1. Рубиновый цикл. 2. Рубиновый цикл. 3. Рубиновый цикл. 4. Рубиновый цикл. 5. Рубиновый цикл. 6. Рубиновый цикл. 7. Рубиновый цикл. 8. Рубиновый цикл. 9. Рубиновый цикл. 10. Рубиновый цикл.
Руби до модификатора:
Как если и если, пока не может быть использован в качестве модификаторов.
Синтаксис:
код до условного ИЛИ ЖЕ начать код конец до условного
Пример:
x = 0
x += 1 until x > 10
p x # prints 11
Это даст следующий результат:
Вы можете использовать начало и конец, чтобы создать цикл, который запускает тело один раз перед условием:
x = 0
begin
x += 1
end until x <10
p x # prints 1
Рубин для Заявления:
Как и большинство других языков, в Python есть циклы for, цикл for состоит из for, за которым следует переменная, содержащая аргумент итерации, за которым следует in, и значение, которое нужно перебирать, используя каждый из них.
- Как в то время как и до, делать необязательно.
- Цикл for похож на использование каждого из них, но не создает новую область видимости переменной.
- Результатом цикла for является значение, повторяемое до тех пор, пока не используется break.
- Цикл for редко используется в современных программах ruby.
Синтаксис:
для переменной [, переменной ...] в выражении [do] код конец
Пример:
for x in [1, 2, 3, 4] do
puts x
end
for x in 0..4
puts "Value of x is : #{x}"
end
Выход:
1 2 3 4 Значение х: 0 Значение х составляет: 1 Значение х составляет: 2 Значение х составляет: 3 Значение х составляет: 4
Ruby Break Заявление:
Оператор break используется для досрочного завершения блока. Вы также можете завершить время, для циклов, используя разрыв.
Синтаксис:
заявление о нарушении
Пример:
Следующий пример прерывает цикл while:
x = 0
while true do
puts x
x += 1
break if x > 5
end
Выход:
0 1 2 3 4 5
Пример:
В следующем примере сломайте цикл for:
Пример:
Следующий пример прерывает цикл while:
for x in 0..5
if x > 2 then
break
end
puts "Value of x is #{x}"
end
Выход:
Значение х равно 0 Значение х равно 1 Значение х составляет 2
Рубин Следующее заявление:
Следующий оператор используется для пропуска оставшейся части текущей итерации. Завершает выполнение блока, если вызывается внутри блока.
Синтаксис:
следующее заявление
Пример:
for x in 0..6
if x < 3 then
next
end
puts "Value of x is : #{x}"
end
Выход:
Значение х составляет: 3 Значение х составляет: 4 Значение х составляет: 5 Значение х составляет: 6
Ruby Redo
Оператор redo используется для повторения текущей итерации:
Синтаксис:
повторить заявление
Пример:
restart = false
for x in 1..15
if x == 10
if restart == false
puts "Re-doing when x =" + x.to_s
restart = true
redo
end
end
puts x
end
Выход:
1 2 3 4 5 6 7 8 9 Повторное выполнение, когда х = 10 10 11 12 13 14 15
Рубиновый флип-флоп:
Триггер используется для обработки текста из однострочных программ ruby, используемых с ruby -n или ruby -p. Форма триггера - это выражение, которое указывает, когда триггер включается, .. (или ...), а затем выражение, которое указывает, когда триггер выключится. Пока включен триггер, он по-прежнему будет иметь значение true, а при выключенном - false.
Триггер должен использоваться внутри условия, например, если, пока, если, до и т. Д.
Пример:
В следующем примере условие on равно n == 12. Триггер изначально выключен (false) для 10 и 11, но включается (true) для 12 и остается включенным до 18. После 18 он выключается и остается выключенным в течение 19 и 20.
selected = []
10.upto 20 do |value|
selected << value if value==12..value==18
end
p selected
Выход:
[12, 13, 14, 15, 16, 17, 18]
Предыдущий: Рубиновый случай
Далее: Ruby Methods
Новый контент: Composer: менеджер зависимостей для PHP , R программирования