【发布时间】:2013-06-26 20:49:44
【问题描述】:
我想知道如何在块中获取块/过程的名称,然后将其传递给方法。我需要这样的块的名称:
method("hello") do
puts "My name is #{self}"
end
当方法运行块时会打印出类似的东西:
"My name is #<Proc:0xa3de668@/path/to/file.rb:8>"
【问题讨论】:
-
你真的只想要块源代码中的位置吗?块(以及一般的 Procs)并没有真正的名称。
-
也许你可以得到一个proc的名字,但是你不能得到一个block的名字,因为block不是一个Ruby对象。