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