1.3. Управляющие структуры и функции в Ruby
В предыдущих главах мы познакомились с основными понятиями Ruby и начали изучать синтаксис языка. Теперь пришло время поговорить об управляющих структурах функциях, которые являются фундаментальными элементами любого языка программирования.
Управляющие структуры определяют порядок выполнения кода, а функции позволяют группировать повторяющийся код и делиться им между разными частями программы. В этой главе мы рассмотрим основные управляющие в Ruby научимся использовать их для создания более сложных эффективных программ.
Условные операторы
Условные операторы используются для выполнения разных действий в зависимости от условия. В Ruby есть два основных типа условных операторов: `if` и `unless`.
Оператор `if` используется для выполнения кода, если условие истинно. Например:
```ruby
x = 5
if x > 10
puts "x больше 10"
else
puts "x меньше или равно 10"
end
```
В этом примере код внутри блока `if` будет выполнен, если `x` больше 10. Если меньше или равно 10, выполнен `else`.
Оператор `unless` используется для выполнения кода, если условие ложно. Например:
```ruby
x = 5
unless x > 10
puts "x меньше или равно 10"
end
```
В этом примере код внутри блока `unless` будет выполнен, если `x` меньше или равно 10.
Циклы
Циклы используются для повторения кода несколько раз. В Ruby есть типов циклов: `while`, `until` и `for`.
Оператор `while` используется для повторения кода, пока условие истинно. Например:
```ruby
x = 0
while x < 10
puts x
x += 1
end
```
В этом примере код внутри блока `while` будет выполнен, пока `x` меньше 10.
Оператор `until` используется для повторения кода, пока условие ложно. Например:
```ruby
x = 0
until x >= 10
puts x
x += 1
end
```
В этом примере код внутри блока `until` будет выполнен, пока `x` меньше 10.
Оператор `for` используется для повторения кода каждого элемента коллекции. Например:
```ruby
fruits = ["яблоко", "банан", "апельсин"]
for fruit in fruits
puts fruit
end
```
В этом примере код внутри блока `for` будет выполнен для каждого элемента массива `fruits`.
Функции
Функции используются для группировки повторяющегося кода и деления его между разными частями программы. В Ruby функции определяются с помощью ключевого слова `def`.
Например:
```ruby
def greet(name)
puts "Привет, {name}!"
end
greet("Иван")
```
В этом примере функция `greet` принимает имя в качестве аргумента и выводит приветствие на экран.
Вложенные функции
В Ruby можно определять функции внутри других функций. Это называется вложенными