我试图使用同一字符串中给定的参数来动态调用字符串中给定的方法,尽管我在提供参数时遇到了问题……
我目前有:
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),此方法的参数位于输入的其余部分中。有没有办法用这些参数调用这个方法?
发布于 2011-12-05 01:36:23
您要查找的方法是send。它的第一个参数将是方法,其余参数将传递给该方法。
query = Query.new
puts query.send(*gets.split(/\s+/)) while true你可以使用while修饰符。
*,它可以分解数组。https://stackoverflow.com/questions/8376877
复制相似问题