38
我確信有一個簡單的答案。我似乎無法找到它。我在紅寶石製成的嵌套函數,我被順利存取內部功能的內部從外部函數的變量:在嵌套函數中訪問外部變量的Ruby
def foo(x)
def bar
puts x
end
bar
42
end
foo(5)
我得到:NameError: undefined local variable or method
X」爲主要:Object`
中類似的Python代碼作品:
def foo(x):
def bar():
print x
bar()
return 42
foo(5)
那麼我該如何在Ruby中做同樣的事情呢?
這裏的一個重要(但細微)的區別是,高清...端限定的方法,而不是一個函數。如tadman所示,使用lambda/proc來定義函數並捕獲閉包中的局部變量。 – rampion 2009-06-19 05:30:28