Ruby中有没有办法在方法中找到调用方法名?
例如:
class Test
def self.foo
Fooz.bar
end
end
class Fooz
def self.bar
# get Test.foo or foo
end
end
Run Code Online (Sandbox Code Playgroud)
Dig*_*oss 197
puts caller[0]
Run Code Online (Sandbox Code Playgroud)
也许...
puts caller[0][/`.*'/][1..-2]
Run Code Online (Sandbox Code Playgroud)
Mar*_*une 158
在Ruby 2.0.0中,您可以使用:
caller_locations(1,1)[0].label
Run Code Online (Sandbox Code Playgroud)
它比Ruby 1.8+解决方案快得多:
caller[0][/`([^']*)'/, 1]
Run Code Online (Sandbox Code Playgroud)
backports当我得到时间(或拉动请求!)时会包括在内.
Héc*_*cía 20
我用
caller[0][/`([^']*)'/, 1]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64705 次 |
| 最近记录: |