说我有一个功能:
def foo()
puts getFunctionIAMIn()
end
我希望输出为:“foo” 如果我有这个代码:
def foo1()
puts getFunctionIAMIn()
end
我希望输出为:“foo1”
答案 0 :(得分:5)
使用__method__
撰写如下:
def foo()
puts __method__
end
以上是正确的,但__callee__
在技术上听起来更正确。
__method__
返回已定义的名称,__callee__
返回名为name。They are same usually, but different in a aliased method.
def foo
[__method__, __callee__]
end
alias bar foo
p foo #=> [:foo, :foo]
p bar #=> [:foo, :bar]
答案 1 :(得分:2)
您可以使用__method__
:
def test_method
__method__
end