【发布时间】:2012-03-20 02:04:22
【问题描述】:
使用 Ruby 1.9,如何调用包含在字符串中的方法。我尝试了以下方法:
self.'method_name'
基本上,我试图做的是基于基于当前方法名称的通用命名约定调用方法。我希望能够打电话
self."#{__method__}_path"
并让我在方法search 中执行代码,就像我正在调用一样
self.search_path
【问题讨论】:
使用 Ruby 1.9,如何调用包含在字符串中的方法。我尝试了以下方法:
self.'method_name'
基本上,我试图做的是基于基于当前方法名称的通用命名约定调用方法。我希望能够打电话
self."#{__method__}_path"
并让我在方法search 中执行代码,就像我正在调用一样
self.search_path
【问题讨论】:
你看过send吗?
类似:
ACTIONS = %w[foo bar]
def execute(action)
return send("do_#{action}") if ACTIONS.include?(action)
raise "Unexpected action"
end
【讨论】: