Циклов в Ruby

Ruby Tutorial for Python Programmers Программирование и разработка

Циклы — это фундаментальная концепция любого языка программирования. Они позволяют нам выполнять определенное действие непрерывно, пока выполняется указанное условие.

Ruby также предлагает концепцию циклов, которые могут выполнять аналогичные действия. Однако каждый метод цикла использует свой подход, и цель цикла определяет его эффективность.

Это краткое руководство проведет вас по наиболее распространенным типам циклов Ruby, включая цикл while, цикл for и цикл do while.

Цикл «while»

Давайте начнем с цикла while, потому что он заложит логическую основу для реализации других методов цикла.

Цикл while в Ruby помогает проверить условие и выполнить действие, пока это условие истинно. Указанное условие проверяется в начале цикла и должно возвращать либо логическое значение true, либо логическое значение false.

Пока условие истинно, блок внутри цикла while выполняется непрерывно и завершается, когда условие ложно.

Чаще всего цикл while используется, когда количество итераций программы не определено. Например, цикл, который постоянно запрашивает у пользователя пароль, может выполняться один или бесконечное количество раз.

Общий синтаксис для реализации цикла while в Ruby:

while [condition] do
# executeme
end

Мы начинаем с вызова ключевого слова while, которое открывает блок цикла.

Затем мы указываем условие, для которого проверяется цикл, за которым следует ключевое слово do.

Внутри блока мы добавляем весь целевой код, который хотим выполнить.

Наконец, мы закрываем цикл, используя ключевое слово end.

Пример цикла Ruby While

Давайте реализуем простой пример, чтобы проиллюстрировать, как мы можем использовать цикл while. В этом случае будет достаточно простого обратного отсчета.

x = 60
while x > 0
1
puts «#{x} seconds remaining»
end

В приведенном выше примере мы создаем переменную x и устанавливаем значение 60.

Затем мы реализуем цикл, чтобы проверить, больше ли значение x 0, и, если оно истинно, помещаем сообщение, показывающее, сколько секунд осталось.

Чтобы цикл не работал вечно, мы реализуем декремент, который вычитает 1 для каждой итерации, выполняемой циклом.

Цикл For

Следующий популярный и полезный метод цикла — цикл for. В некотором смысле он похож на цикл while, но по-другому реализует функции цикла.

Чаще всего цикл for используется, когда есть заранее определенное количество итераций, которые цикл должен выполнить.

Например, если общее количество попыток ввода пароля меньше 5, продолжайте запрашивать пароль; в противном случае заблокируйте учетную запись.

Мы также реализуем условие для цикла for в начале цикла.

Синтаксис цикла for в Ruby:

forvarin [expression] do
# execute me
end

В синтаксисе цикла for выше мы начинаем с вызова ключевого слова for, указывающего начало блока цикла for.

Затем мы устанавливаем переменную, которая действует как ссылка для условия. Думайте об этом как о текущем испытании по аналогии с пробным паролем.

Затем мы используем ключевое слово in, предварительно определенное ключевое слово Ruby, обычно используемое в цикле for.

Следующая часть — это выражение; это диапазон для оценки переменной. Это может быть один диапазон значений, массив для перебора.

Следующая часть — это ключевое слово do, открывающее блок for-loop для добавления кода, выполняемого, пока условие истинно.

Наконец, мы закрываем цикл for конечным блоком.

Ruby For Loop, пример

В следующем примере показано, как использовать цикл for в Ruby.

foriin1..10 do
puts i
end

В приведенном выше примере мы определяем переменную i, которая является просто заполнителем для каждого элемента в диапазоне от 1 до 10.

В Ruby есть два оператора диапазона: две точки (..) и три точки (…).

Обозначение двух точек известно как оператор включающего диапазона. Это означает, что он будет включать максимальное значение в диапазоне. Думайте об этом как о меньшем или равном.

Обозначение с тремя точками, также называемое эксклюзивным оператором, не включает максимальное значение в операторе. Подобно менее чем.

Если мы запустим приведенный выше код, он должен распечатать значения от 1 до 10, поскольку мы использовали включающий диапазон.

Чтобы исключить 10 из диапазона значений, используйте запись с тремя точками, как:

foriin1..10 do
puts i
end

Другой пример использования циклов for — получение элементов в массиве. Например, предположим, что у нас есть следующий массив:

frameworks = [«Ruby on Rails»«Angular»«VueJs»«Express»«Django»«React»«Laravel»]

По умолчанию, если мы хотим получить доступ к элементу в массиве, мы можем использовать индекс как:

puts frameworks[0]

Если бы мы хотели получить доступ ко всем элементам в массиве, нам пришлось бы реализовать несколько повторяющихся строк.

puts frameworks[0]
puts frameworks[1]
puts frameworks[2]
puts frameworks[n]

Это очень неэффективно и спорно, когда мы не знаем общее количество элементов в массиве.

Чтобы решить эту проблему, мы можем реализовать простой цикл for:

frameworks = [«Ruby on Rails»«Angular»«VueJs»«Express»«Django»«React»«Laravel»]
for framework in frameworks do
puts framework
end

Вышеупомянутый элемент можно интерпретировать как: для каждого элемента в элементах, печать, элемент.

While цикл

Другой метод цикла — это цикл do while. Он очень похож на цикл while, но проверяет условие после выполнения блока кода. Следовательно, даже если условие никогда не оценивается как истинное, цикл будет выполняться хотя бы один раз.

Синтаксис цикла do while в Ruby:

loop do
# run me once
break if [condition]
end

Ruby Do while Loop, пример

В простом примере ниже показано, как использовать цикл do while в Ruby:

loop do
puts «Hi there!»
i = 10
if i == 10
break
end
end

Цикл выполнится один раз и завершится.

Заключение

В этом руководстве мы обсудили основы программирования с использованием циклов в Ruby. В Ruby есть и другие методы цикла, которые позволяют выполнять действия с другими структурами.

Читайте также:  Метод String ljust() в Python
Оцените статью
bestprogrammer.ru
Добавить комментарий