Я уверен, что для этого есть простой ответ; Я просто не могу найти его. Я сделал вложенную функцию в Ruby, и у меня возникли проблемы с доступом к переменным из внешней функции внутри внутренней функции:
def foo(x)
def bar
puts x
end
bar
42
end
foo(5)
Я получаю: NameError: undefined local variable or method
x 'для main: Object`
Аналогичный код Python работает:
def foo(x):
def bar():
print x
bar()
return 42
foo(5)
Итак, как мне сделать то же самое в Ruby?