如何知道我目前所处的方法

时间:2013-02-25 07:50:18

标签: ruby metaprogramming

在我写的一个方法中,我的代码怎么知道它当前在哪个方法?我需要这个,因为我想获取方法名称并解析它以获取它的一部分,例如“add_order”,然后我可以使用第二部分“order”来处理。

2 个答案:

答案 0 :(得分:5)

使用__method__获取您当前所在方法的名称

答案 1 :(得分:0)

def get_mname
  caller[0]=~/`(.*?)'/  # quote is a backtick
  $1
end

def name_of_my_method
  puts get_mname
end

name_of_my_method

# => name_of_my_method