我的ruby文件中定义了两个方法。
def is_mandatory(string)
puts xyz
end
def is_alphabets(string)
puts abc
end
包含方法名称的数组。
methods = ["is_mandatory", "is_alphabets"]
当我执行以下操作时
methods.each do |method| puts method.concat("(\"abc\")") end
它只是显示,is_mandatory(“abc”)is_alphabets(“abc”)而不是实际调用该方法。
如何将字符串转换为方法名称? 任何帮助是极大的赞赏。
干杯!!
答案 0 :(得分:53)
答案 1 :(得分:12)
尝试使用“发送”。
methods.each do |method|
self.send(method, "abc")
end
答案 2 :(得分:0)
您还可以添加哈希以将参数发送到方法。
send("method_name", "abc", {add more parameters in this hash})
答案 3 :(得分:0)