Привет :)
На последната лекция стана малко объркване с defined?
и къде би могло да се използва. Ето два примера за поведението на присвояването и кога Ruby създава локалната променлива:
def is_defined
if false
var = 1
end
defined? var
end
def is_not_defined
[].each do
var = 1
end
defined? var
end
p is_defined
p is_not_defined
if false
случая важи и за while
, until
, for
и подобни синтактични конструкции. Блоковете се държат по друг начин.