【发布时间】:2010-11-07 11:32:02
【问题描述】:
之前,我询问了一种在给定条件“Ruby a clever way to execute a function on a condition”下执行方法的巧妙方法。
解决方案和响应时间都很棒,但是,在实施时,拥有一个 lambdas 散列很快就会变得丑陋。于是我开始尝试。
以下代码有效:
def a()
puts "hello world"
end
some_hash = { 0 => a() }
some_hash[0]
但如果我将它包装在一个类中,它就会停止工作:
class A
@a = { 0 => a()}
def a()
puts "hello world"
end
def b()
@a[0]
end
end
d = A.new()
d.b()
我不明白为什么它应该停止工作,谁能建议如何让它工作?
【问题讨论】: