我想知道这样的事情是否有可能说我们有
def call_something
yield a
end
a 是一个未定义的变量?这种事情可能吗?如果可以,你能提供一个例子来说明它是如何有用的吗?
我知道您可以将参数传递给 yield 但到目前为止我知道您只能传递具有实际值的实际参数。
为了澄清,我的意思是这样的:
class A
def initialize
print "Enter a value: "
@a = gets.chomp
end
def m
yield @a
end
end
a = A.new
a.m do |x|
puts "You entered #{x}"
end
你可以在哪里提供一些东西,然后使用那个“东西”作为参数传递一个块。