我正在尝试使用相同字符串中给出的参数动态调用字符串中给出的方法,但我仍然坚持提供参数...
我目前有:
query = Query.new
while true
input = gets.split(%r{[/[[:blank:]]/,]})
puts (query.instance_exec(*input.drop(1)) { |x|
instance_eval input.at(0)
})
end
因此方法名称为input(0),此方法的参数位于输入的其余部分。 有没有办法用这些参数调用这个方法?
答案 0 :(得分:1)
您要查找的方法是send
。它的第一个参数是方法,其余的将传递给该方法。
query = Query.new
puts query.send(*gets.split(/\s+/)) while true
while
修饰符。*
来解析数组。