如下是元编程中的例子,在这个例子中,块中的 number 和第二出现的 number 不属于同一个作用域,但是按照元编程第三章内容,切割作用域的一般是 def,module,method,而这里均未出现,那如何判断这两个参数属于不同的作用域。
class Roulette
def method_missing(name, *args)
person = name.to_s.capitalize
3.times do
number = rand(10)+1
puts "#{number}.."
end
"#{person} got a #{number}"
end
end