Ruby обращается к внешним переменным во вложенной функции

Я уверен, что для этого есть простой ответ; Я просто не могу найти это. Я сделал вложенную функцию в Ruby, и у меня были проблемы с доступом к переменным из внешней функции внутри внутренней функции:

<code>def foo(x)
  def bar
    puts x
  end
  bar
  42
end

foo(5)
</code>

Я получил:NameError: undefined local variable or methodх & APOS; для основного: Объект`

Аналогичный код Python работает:

<code>def foo(x):
  def bar():
    print x
  bar()
  return 42

foo(5)
</code>

Так как мне сделать то же самое в Ruby?

Ответы на вопрос(1)

Ваш ответ на вопрос