Ruby acessando variáveis externas em função aninhada
Tenho certeza que há uma resposta simples para isso; Eu simplesmente não consigo encontrar. Fiz uma função aninhada em Ruby e estava tendo problemas para acessar variáveis da função externa dentro da função interna:
def foo(x)
def bar
puts x
end
bar
42
end
foo(5)
Eu recebo:NameError: undefined local variable or method
x 'para main: Object
O código analógico do Python funciona:
def foo(x):
def bar():
print x
bar()
return 42
foo(5)
Então, como faço a mesma coisa em Ruby?