Ruby greift in verschachtelter Funktion auf äußere Variablen zu

Ich bin sicher, dass es dafür eine einfache Antwort gibt. Ich kann es einfach nicht finden. Ich habe in Ruby eine verschachtelte Funktion erstellt und hatte Probleme, von der äußeren Funktion in der inneren Funktion auf Variablen zuzugreifen:

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

foo(5)
</code>

Ich bekomme:NameError: undefined local variable or methodx "für Haupt: Objekt"

Der analoge Python-Code funktioniert:

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

foo(5)
</code>

Wie mache ich dasselbe in Ruby?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage