HTML Diff
1 added 1 removed
Original 2026-01-01
Modified 2026-03-10
1 <ul><li><a>Определение</a></li>
1 <ul><li><a>Определение</a></li>
2 <li><a>Классификация</a></li>
2 <li><a>Классификация</a></li>
3 <li><a>Одна ветка</a><ul><li><a>Сравнивание чисел</a></li>
3 <li><a>Одна ветка</a><ul><li><a>Сравнивание чисел</a></li>
4 <li><a>Сравнение строк</a></li>
4 <li><a>Сравнение строк</a></li>
5 </ul></li>
5 </ul></li>
6 <li><a>Две ветки</a></li>
6 <li><a>Две ветки</a></li>
7 <li><a>Множественное ветвление</a></li>
7 <li><a>Множественное ветвление</a></li>
8 <li><a>Тернарный оператор</a></li>
8 <li><a>Тернарный оператор</a></li>
9 <li><a>Оператор case</a></li>
9 <li><a>Оператор case</a></li>
10 </ul><p>В Ruby имеются операторы, которые встречаются также и в других языках программирования. Типичным примером является ветвление. Далее предстоит познакомиться с if-выражениями в Ruby. Дополнительно будут изучены тернарные операторы.</p>
10 </ul><p>В Ruby имеются операторы, которые встречаются также и в других языках программирования. Типичным примером является ветвление. Далее предстоит познакомиться с if-выражениями в Ruby. Дополнительно будут изучены тернарные операторы.</p>
11 <p>Информация, представленная ниже, ориентирована на программистов, которые только начинают знакомиться с Ruby.</p>
11 <p>Информация, представленная ниже, ориентирована на программистов, которые только начинают знакомиться с Ruby.</p>
12 <h2>Определение</h2>
12 <h2>Определение</h2>
13 <p>Условный оператор - некоторый набор инструкций (алгоритмов), который будет реализовываться в зависимости от истинности заданного для расчетов выражения. Основа реализации ветвлений с if и другими "командами".</p>
13 <p>Условный оператор - некоторый набор инструкций (алгоритмов), который будет реализовываться в зависимости от истинности заданного для расчетов выражения. Основа реализации ветвлений с if и другими "командами".</p>
14 <p>Условные операторы the if и switch являются фундаментом разработки программного обеспечения. Они успешно используются в различных языках программирования, а не только в Руби.</p>
14 <p>Условные операторы the if и switch являются фундаментом разработки программного обеспечения. Они успешно используются в различных языках программирования, а не только в Руби.</p>
15 <p>Ветвление - конструкция, управляющая ходом работы/выполнения имеющегося программного обеспечения. В зависимости от того, выполнено ли условие (the condition) или нет, будет меняться дальнейший алгоритм (поведение контента).</p>
15 <p>Ветвление - конструкция, управляющая ходом работы/выполнения имеющегося программного обеспечения. В зависимости от того, выполнено ли условие (the condition) или нет, будет меняться дальнейший алгоритм (поведение контента).</p>
16 <h2>Классификация</h2>
16 <h2>Классификация</h2>
17 <p>The Ruby if (или ветвление) - конструкция, которая в рассматриваемом языке разработки может быть представлена несколькими способами. Аналогичным образом ситуация обстоит с иными самыми известными ЯП. В зависимости от задействованной конструкции if будет меняться не только "сложность" кода, но и его непосредственное поведение.</p>
17 <p>The Ruby if (или ветвление) - конструкция, которая в рассматриваемом языке разработки может быть представлена несколькими способами. Аналогичным образом ситуация обстоит с иными самыми известными ЯП. В зависимости от задействованной конструкции if будет меняться не только "сложность" кода, но и его непосредственное поведение.</p>
18 <p>На данный момент поддерживается следующая классификация the if в Руби:</p>
18 <p>На данный момент поддерживается следующая классификация the if в Руби:</p>
19 <ul><li>с одной веткой;</li>
19 <ul><li>с одной веткой;</li>
20 <li>двойное ветвление;</li>
20 <li>двойное ветвление;</li>
21 <li>множественное ветвление;</li>
21 <li>множественное ветвление;</li>
22 <li>тернарный оператор;</li>
22 <li>тернарный оператор;</li>
23 <li>ветвление с выбором условия (switch-case).</li>
23 <li>ветвление с выбором условия (switch-case).</li>
24 </ul><p>Чтобы лучше разобраться с выбором алгоритмов в исходном приложении, каждый предложенный вариант the if в Ruby будет изучен более подробно.</p>
24 </ul><p>Чтобы лучше разобраться с выбором алгоритмов в исходном приложении, каждый предложенный вариант the if в Ruby будет изучен более подробно.</p>
25 <h2>Одна ветка</h2>
25 <h2>Одна ветка</h2>
26 <p>Оператор If - простейший вариант выбора дальнейшего поведения программы. Элементарная условная конструкция. Она часто используется в циклах. Встречается почти во всех языках программирования.</p>
26 <p>Оператор If - простейший вариант выбора дальнейшего поведения программы. Элементарная условная конструкция. Она часто используется в циклах. Встречается почти во всех языках программирования.</p>
27 <p>Синтаксическая форма записи выглядит так:</p>
27 <p>Синтаксическая форма записи выглядит так:</p>
28 <p>Здесь, если условие после if - это логическая истина (the true), будет выполняться блок кода, написанный до end. В противном случае соответствующий фрагмент пропускается. Управление программой переходит к оператору, идущим после if конструкции.</p>
28 <p>Здесь, если условие после if - это логическая истина (the true), будет выполняться блок кода, написанный до end. В противном случае соответствующий фрагмент пропускается. Управление программой переходит к оператору, идущим после if конструкции.</p>
29 <h3>Сравнивание чисел</h3>
29 <h3>Сравнивание чисел</h3>
30 <p>В виде условия в the Ruby используются выражения, проверяемые на истинность. Если оно будет the true, система выполнит заданный алгоритм. Когда значение равняется the false, блок с if просто пропускается системой. Соответствующие значения имеют определенное название - булевый тип данных.</p>
30 <p>В виде условия в the Ruby используются выражения, проверяемые на истинность. Если оно будет the true, система выполнит заданный алгоритм. Когда значение равняется the false, блок с if просто пропускается системой. Соответствующие значения имеют определенное название - булевый тип данных.</p>
31 <p>Для того, чтобы записывать условия, используются:</p>
31 <p>Для того, чтобы записывать условия, используются:</p>
32 <ul><li>числа;</li>
32 <ul><li>числа;</li>
33 <li>операторы сравнения.</li>
33 <li>операторы сравнения.</li>
34 </ul><p>Выше - наглядный пример реализации if команды для ветвления в Руби. Если в переменной age будет число, которое больше или равно 18, программа сообщит "Вам уже все можно". В противном случае - "Вам еще пока рановато!".</p>
34 </ul><p>Выше - наглядный пример реализации if команды для ветвления в Руби. Если в переменной age будет число, которое больше или равно 18, программа сообщит "Вам уже все можно". В противном случае - "Вам еще пока рановато!".</p>
35 <h3>Сравнение строк</h3>
35 <h3>Сравнение строк</h3>
36 <p>Сравнивать the Ruby позволяет не только цифры, но и строки. Для этого используется оператор "равно-равно". Он будет сравнивать строки/числа справа и слева от себя. Если они равны между собой, результатом станет логическая истина. В противном случае - the false.</p>
36 <p>Сравнивать the Ruby позволяет не только цифры, но и строки. Для этого используется оператор "равно-равно". Он будет сравнивать строки/числа справа и слева от себя. Если они равны между собой, результатом станет логическая истина. В противном случае - the false.</p>
37 <p>Вот - вариант реализации if в случае со строками. Перебрать все их варианты не всегда удается, поэтому для сравнения используется оператор "не равно" ("!"). Он возвращает true, если операнды не равняются друг другу.</p>
37 <p>Вот - вариант реализации if в случае со строками. Перебрать все их варианты не всегда удается, поэтому для сравнения используется оператор "не равно" ("!"). Он возвращает true, если операнды не равняются друг другу.</p>
38 <h2>Две ветки</h2>
38 <h2>Две ветки</h2>
39 <p>Более сложным вариантом в Ruby выступает if … else. Это "двойное" ветвление. Оно используется тогда, когда необходимо выполнить код при условии невыполнения заданного изначально "выражения".</p>
39 <p>Более сложным вариантом в Ruby выступает if … else. Это "двойное" ветвление. Оно используется тогда, когда необходимо выполнить код при условии невыполнения заданного изначально "выражения".</p>
40 <p>Форма записи:</p>
40 <p>Форма записи:</p>
41 <p>Соответствующая конструкция включает в себя:</p>
41 <p>Соответствующая конструкция включает в себя:</p>
42 <ul><li>ключевое слово if;</li>
42 <ul><li>ключевое слово if;</li>
43 <li>выражение, которое будет рассчитываться и проверяться на факт истины;</li>
43 <li>выражение, которое будет рассчитываться и проверяться на факт истины;</li>
44 <li>блок кода, реализуемый при значении, равном true;</li>
44 <li>блок кода, реализуемый при значении, равном true;</li>
45 <li>алгоритм, который начинает работать при результате расчетов "логическая ложь".</li>
45 <li>алгоритм, который начинает работать при результате расчетов "логическая ложь".</li>
46 </ul><p>Выше можно увидеть наглядный пример двойного ветвления. Соответствующие операции используются для более сложных задач, нежели просто if.</p>
46 </ul><p>Выше можно увидеть наглядный пример двойного ветвления. Соответствующие операции используются для более сложных задач, нежели просто if.</p>
47 <h2>Множественное ветвление</h2>
47 <h2>Множественное ветвление</h2>
48 <p>Некоторые разработчики предпочитают "свободу выбора" в приложениях. Они предлагают несколько алгоритмов поведения контента в зависимости от заданного условия. Реализация в программном коде осуществляется через множественное ветвление.</p>
48 <p>Некоторые разработчики предпочитают "свободу выбора" в приложениях. Они предлагают несколько алгоритмов поведения контента в зависимости от заданного условия. Реализация в программном коде осуществляется через множественное ветвление.</p>
49 <p>Выглядит общая синтаксическая форма так:</p>
49 <p>Выглядит общая синтаксическая форма так:</p>
50 - <p>Здесь the Ruby поддерживает elsif. Система сначала произведет расчеты condition1 и сравнит его с заданным условием. Если результат - ложь, произойдет переход к первому блоку elsif, затем - ко второму и так далее. Происходит это до тех пор, пока система не обнаружит логическую истину. При ее отсутствии реализовывается блок, написанный после else.</p>
50 + <p>Здесь the Ruby поддерживает elsif. Система сначала произведет расчеты condition1 и сравнит его с заданным условием. Если результат - ложь, произойдет переход к первому блоку elsif, затем - ко второму и так далее. Происходит это до тех пор, пока система не обнаружит логическую истну. При ее отсутствии реализовывается блок, написанный после else.</p>
51 <p>Вот так может выглядеть множественное ветвление. Оно позволяет формировать достаточно сложные алгоритмы с выбором.</p>
51 <p>Вот так может выглядеть множественное ветвление. Оно позволяет формировать достаточно сложные алгоритмы с выбором.</p>
52 <h2>Тернарный оператор</h2>
52 <h2>Тернарный оператор</h2>
53 <p>Тернарный оператор в рассматриваемом языке программирования - это сокращенная вариация конструкции с if. Сначала он оценивает выражение (истина/ложь), а затем реализовывает одно из имеющихся утверждений.</p>
53 <p>Тернарный оператор в рассматриваемом языке программирования - это сокращенная вариация конструкции с if. Сначала он оценивает выражение (истина/ложь), а затем реализовывает одно из имеющихся утверждений.</p>
54 <p>У тернарного оператора, заменяющего короткую запись the if else Ruby, будет следующая форма записи:</p>
54 <p>У тернарного оператора, заменяющего короткую запись the if else Ruby, будет следующая форма записи:</p>
55 <p>Выше можно увидеть не только общую форму интерпретации, но и наглядный пример использования упомянутой конструкции. Никаких других функций, кроме как сокращение the if выражений соответствующие записи не несут.</p>
55 <p>Выше можно увидеть не только общую форму интерпретации, но и наглядный пример использования упомянутой конструкции. Никаких других функций, кроме как сокращение the if выражений соответствующие записи не несут.</p>
56 <h2>Оператор case</h2>
56 <h2>Оператор case</h2>
57 <p>Case-выражения в the Ruby используются для того, чтобы предоставить приложению и разработчикам выбор алгоритма в зависимости от того или иного условия. Базируется прием на полном соответствии "выражения".</p>
57 <p>Case-выражения в the Ruby используются для того, чтобы предоставить приложению и разработчикам выбор алгоритма в зависимости от того или иного условия. Базируется прием на полном соответствии "выражения".</p>
58 <p>Общая форма представления case (в большинстве других языков конструкция называется switch или switch-case) выглядит так:</p>
58 <p>Общая форма представления case (в большинстве других языков конструкция называется switch или switch-case) выглядит так:</p>
59 <p>Часть else в предложенной записи может отсутствовать. Этот элемент отвечает за выбор алгоритма, который будет реализован, если ни одно case-where не идентифицировано в качестве истины.</p>
59 <p>Часть else в предложенной записи может отсутствовать. Этот элемент отвечает за выбор алгоритма, который будет реализован, если ни одно case-where не идентифицировано в качестве истины.</p>
60 <p>Вот пример, в котором система выведет информацию об оценке ученика:</p>
60 <p>Вот пример, в котором система выведет информацию об оценке ученика:</p>
61 <p>Без использования case-блока можно переписать предложенный код с применением the if:</p>
61 <p>Без использования case-блока можно переписать предложенный код с применением the if:</p>
62 <p>Можно заметить, что исходный код с case является более компактным, лаконичным и читабельным.</p>
62 <p>Можно заметить, что исходный код с case является более компактным, лаконичным и читабельным.</p>
63 <p>When может включать в себя не только определенное значение, но и их диапазон. Соответствующие "параметры" пишутся в круглых скобках.</p>
63 <p>When может включать в себя не только определенное значение, но и их диапазон. Соответствующие "параметры" пишутся в круглых скобках.</p>
64 <p><em>Интересует Ruby-разработка? Обратите внимание на специализированный курс в Otus "<a>Ruby и Ruby on Rails Developer</a></em>"!</p>
64 <p><em>Интересует Ruby-разработка? Обратите внимание на специализированный курс в Otus "<a>Ruby и Ruby on Rails Developer</a></em>"!</p>
65  
65