0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>times() - простой метод, но слишком ограниченный. Что, например, делать, если нужно обходить какой-то конкретный диапазон чисел в прямом и обратном порядке? Для этого в Ruby есть методы upto() и downto():</p>
1
<p>times() - простой метод, но слишком ограниченный. Что, например, делать, если нужно обходить какой-то конкретный диапазон чисел в прямом и обратном порядке? Для этого в Ruby есть методы upto() и downto():</p>
2
<p>Этот метод "поднимается" от цифры, на которой был вызван, до переданного числа. Исходное число и конечное включаются в обход. Вот как, например, посчитать сумму этих чисел:</p>
2
<p>Этот метод "поднимается" от цифры, на которой был вызван, до переданного числа. Исходное число и конечное включаются в обход. Вот как, например, посчитать сумму этих чисел:</p>
3
<p>Так как блок по своей сути - функция, то на него распространяются правила области видимости функций. Все, что определено внутри блока, недоступно снаружи, но блок может "замкнуть" внутри себя внешние переменные, как в примере выше. Переменные замыкаются по ссылке - это значит, что изменение переменной внутри меняет её и снаружи.</p>
3
<p>Так как блок по своей сути - функция, то на него распространяются правила области видимости функций. Все, что определено внутри блока, недоступно снаружи, но блок может "замкнуть" внутри себя внешние переменные, как в примере выше. Переменные замыкаются по ссылке - это значит, что изменение переменной внутри меняет её и снаружи.</p>
4
<p>Обратите внимание на вызов метода upto() и передачу блока. Блок передается внутрь метода, но происходит это вне вызывающих скобок. Пример выше можно переписать так:</p>
4
<p>Обратите внимание на вызов метода upto() и передачу блока. Блок передается внутрь метода, но происходит это вне вызывающих скобок. Пример выше можно переписать так:</p>
5
<p>Для тех, кто не привык к Ruby, такой синтаксис может показаться странным, но это быстро проходит. В какой-то момент вы почувствуете, что вас начнет раздражать ставить скобки в других языках)</p>
5
<p>Для тех, кто не привык к Ruby, такой синтаксис может показаться странным, но это быстро проходит. В какой-то момент вы почувствуете, что вас начнет раздражать ставить скобки в других языках)</p>