Ruby/Избранное с RubyNews: различия между версиями
Содержимое удалено Содержимое добавлено
Ramir (обсуждение | вклад) м →Стихи |
|||
Строка 45:
Локальная переменная блока после выхода из своей области видимости, продолжает хранить прежнее значение, но только если она была определена до блока. Для начала рассмотрим работающий пример:
<source lang=ruby>loop {
<code>loop {▼
break ▼
▲ }
▲ puts a #-> Ошибка. Не могу найти метод или переменную a.</code>
При попытке вывести значение переменной <code>a</code>, интерпретатор сообщает о том, что переменная <code>a</code> не определена. Предварим этот пример небольшим блоком <code>if</code>, который заранее никогда не выполняется:
<source lang=ruby>if false
a = nil
▲ end
▲ a = 5
▲ break
▲ }
▲ puts a #-> 5</code>
И получаем нестандартную ситуацию в которой интерпретатор выводит значение <code>a</code>, которое по его мнению равно 5. Неверующим рекомендую проверить...
|