Ruby 如何以字符串格式获取方法的名称

Ruby 如何以字符串格式获取方法的名称,ruby,string,method-names,Ruby,String,Method Names,我正在调用Some\u other\u method内部Some\u method。我想以字符串格式将名称Some\u method传递给Some\u other\u method。我怎么做?我应该用什么来代替问号作为参数 def Some_method ... Some_other_method (?) end 你应该用这个。从文档中: 作为obj中的接收者查找命名方法,返回方法对象(或引发NameError)。方法对象在obj的对象实例中充当闭包,因此实例变量和self的值仍然可用

我正在调用
Some\u other\u method
内部
Some\u method
。我想以字符串格式将名称
Some\u method
传递给
Some\u other\u method
。我怎么做?我应该用什么来代替问号作为参数

def Some_method
  ...
  Some_other_method (?)
end
你应该用这个。从文档中:

作为obj中的接收者查找命名方法,返回方法对象(或引发NameError)。方法对象在obj的对象实例中充当闭包,因此实例变量和self的值仍然可用

> user = User.first        
=> #<User id: 1, email: "aslam@mapunity.in", created_at: "2011-05-24 07:17:51", updated_at: "2011-06-02 05:28:37", username: "admin"> 

> meth = user.method(:email)    
=> #<Method: User(#<Module:0x9ceff3c>)#_email> 

> meth.name    
=> :email 

> meth.name.to_s
=> "email" 
>user=user.first
=> # 
>meth=用户方法(:电子邮件)
=> # 
>冰毒名称
=>:电子邮件
>meth.name.to\s
=>“电子邮件”
使用:

以符号形式返回当前方法的名称。如果在方法外部调用,则返回nil

例如:

def say_your_name
  puts __method__.to_s
end

如果您对符号而不是字符串感到满意,则可以将
改为_

这与要求相反。问题是要求将方法更改为字符串。您正在使用符号/字符串作为方法。对。我同意。更新了答案以反映更改。