Циклы в Ruby используются для выполнения одного и того же блока кода указанное количество раз. В этой главе подробно описаны все операторы цикла, поддерживаемые Ruby.
Рубиновый оператор
Синтаксис
while conditional [do] code end
Выполняет код, пока условное истинно. В то время как петля - х условноотделена от кода зарезервированным словом сделать, символ новой строки, обратный слэш \ или точкой с запятой;.
пример
Live Demo#!/usr/bin/ruby $i = 0 $num = 5 while $i < $num do puts("Inside the loop i = #$i" ) $i +=1 end
Это даст следующий результат -
Inside the loop i = 0 Inside the loop i = 1 Inside the loop i = 2 Inside the loop i = 3 Inside the loop i = 4
Рубиновый модификатор
Синтаксис
code while condition OR begin code end while conditional
Выполняет код, пока условное истинно.
Если модификатор while следует за оператором begin без выражений восстановления или проверки, код выполняется один раз перед оценкой условия.
пример
Live Demo#!/usr/bin/ruby $i = 0 $num = 5 begin puts("Inside the loop i = #$i" ) $i +=1 end while $i < $num
Это даст следующий результат -
Inside the loop i = 0 Inside the loop i = 1 Inside the loop i = 2 Inside the loop i = 3 Inside the loop i = 4
Рубин до Заявления
until conditional [do] code end
Выполняет код, пока условное значение ложно. До утверждения условно - х отделяются от кода зарезервированного слова делать , переводом строкой или точкой с запятой.
пример
Live Demo#!/usr/bin/ruby $i = 0 $num = 5 until $i > $num do puts("Inside the loop i = #$i" ) $i +=1; end
Это даст следующий результат -
Inside the loop i = 0 Inside the loop i = 1 Inside the loop i = 2 Inside the loop i = 3 Inside the loop i = 4 Inside the loop i = 5
Руби до модификатора
Синтаксис
code until conditional OR begin code end until conditional
Выполняет код, пока условное значение ложно.
Если до Модификатора следует за начать заявление без какой - либо помощи или обеспечить положения, код выполняется один раз перед условно оценивается.
пример
Live Demo#!/usr/bin/ruby $i = 0 $num = 5 begin puts("Inside the loop i = #$i" ) $i +=1; end until $i > $num
Это даст следующий результат -
Inside the loop i = 0 Inside the loop i = 1 Inside the loop i = 2 Inside the loop i = 3 Inside the loop i = 4 Inside the loop i = 5
Рубин для Заявления
Синтаксис
for variable [, variable ...] in expression [do] code end
Выполняет код один раз для каждого элемента в выражении .
пример
Live Demo#!/usr/bin/ruby for i in 0..5 puts "Value of local variable is #{i}" end
Здесь мы определили диапазон 0..5. Утверждение для i в 0..5 позволит iпринимать значения в диапазоне от 0 до 5 (включая 5). Это даст следующий результат -
Value of local variable is 0 Value of local variable is 1 Value of local variable is 2 Value of local variable is 3 Value of local variable is 4 Value of local variable is 5
Цикл for ... in почти в точности соответствует следующему:
(expression).each do |variable[, variable...]| code end
за исключением того, что цикл for не создает новую область видимости для локальных переменных. Для передачи контура в выражении отделен от кода зарезервированным словом делать, переводом строки или точкой с запятой.
пример
Live Demo#!/usr/bin/ruby (0..5).each do |i| puts "Value of local variable is #{i}" end
Это даст следующий результат -
Value of local variable is 0 Value of local variable is 1 Value of local variable is 2 Value of local variable is 3 Value of local variable is 4 Value of local variable is 5
Ruby Break Заявление
Синтаксис
break
Завершает самый внутренний цикл. Завершает метод со связанным блоком, если вызван в блоке (с методом, возвращающим ноль).
пример
Live Demo#!/usr/bin/ruby for i in 0..5 if i > 2 then break end puts "Value of local variable is #{i}" end
Это даст следующий результат -
Value of local variable is 0 Value of local variable is 1 Value of local variable is 2
Ruby следующее заявление
Синтаксис
next
Переходит к следующей итерации самого внутреннего цикла. Завершает выполнение блока, если он вызывается внутри блока (с yield или call, возвращающим ноль).
пример
Live Demo#!/usr/bin/ruby for i in 0..5 if i < 2 then next end puts "Value of local variable is #{i}" end
Это даст следующий результат -
Value of local variable is 2 Value of local variable is 3 Value of local variable is 4 Value of local variable is 5
Ruby Redo Заявление
Синтаксис
redo
Перезапускает эту итерацию самого внутреннего цикла без проверки состояния цикла. Перезапускает yield или call, если вызывается в блоке.
пример
#!/usr/bin/ruby for i in 0..5 if i < 2 then puts "Value of local variable is #{i}" redo end end
Это даст следующий результат и будет идти в бесконечном цикле -
Value of local variable is 0 Value of local variable is 0 ............................
Заявление о повторных попытках Ruby
Синтаксис
retry
Если повторная попытка появляется в предложении спасения выражения начала, перезапустите с начала тела начала.
begin do_something # exception raised rescue # handles error retry # restart from beginning end
Если в итераторе появляется повтор, блок или тело выражения forперезапускает вызов вызова итератора. Аргументы к итератору переоцениваются.
for i in 1..5 retry if some_condition # restart from i == 1 end
пример
#!/usr/bin/ruby for i in 0..5 retry if i > 2 puts "Value of local variable is #{i}" end
Это даст следующий результат и будет идти в бесконечном цикле -
Value of local variable is 1 Value of local variable is 2 Value of local variable is 1 Value of local variable is 2 Value of local variable is 1 Value of local variable is 2 ............................
Комментариев нет:
Отправить комментарий