我检讨别人的Ruby代码,并在其中,他们已经写了类似于: class Example
attr_reader :val
def initialize(val)
@val = val
end
end
def trigger
puts self.val
end
anArray = [Example.new(10), Example.new(
可能重复: When to use lambda, when to use Proc.new? (我知道它已经被问了几次,但我无法找到满意的答案)有人可以解释块,特效和Lambda表达式以及为什么应该使用其他方法,当使用proc,similar和/或lambda时,情况如何。对计算机内存也有影响。请用实际的例子。
我意识到,你可以使用instance_eval class Foo
def bar &block
instance_eval &block
end
end
Foo.new.bar { self } # returns the instance
但一些内置的方法接受块,而在这种情况下,它似乎并不可能改变模块的结合,而不与搞乱改变块的结合内置方法的内部。 cla