I'm trying to dynamically call a method given in a string using parameters given in the same string, I'm getting stuck on supplying the parameters though...
I currently have:
query = Query.new
while true
input = gets.split(%r{[/[[:blank:]]/,]})
puts (query.instance_exec(*input.drop(1)) { |x|
instance_eval input.at(0)
})
end
So the method name is input(0) and the arguments to this method are in the rest of input. Is there any way to call this method with those parameters?
method_name paramListwhere paramList is a variable number of parameters separated by either commas, whitespace or a mix of both. So the regex should decompose this into an array of the form [method_name, param1, param2, ...]. PS: it should actually be%r{[/[[:blank:]]/,]+}I fixed that in the mean time.