Мастерство Ruby on Rails: Разработка веб-приложений с помощью Ruby - страница 3

Шрифт
Интервал



Управляющие структуры определяют порядок выполнения кода, а функции позволяют группировать повторяющийся код и делиться им между разными частями программы. В этой главе мы рассмотрим основные управляющие в 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 можно определять функции внутри других функций. Это называется вложенными функциями.


Например:


```ruby


def outer


def inner


puts "Внутренняя функция"


end


inner


end


outer


```


В этом примере функция `inner` определена внутри функции `outer`. Функция может быть вызвана только