1
我想動態調用中使用相同的字符串給定的參數字符串給定的方法instance_eval的,我陷入上雖然提供的參數...紅寶石instance_exec /帶參數
我現在有:
query = Query.new
while true
input = gets.split(%r{[/[[:blank:]]/,]})
puts (query.instance_exec(*input.drop(1)) { |x|
instance_eval input.at(0)
})
end
所以方法名稱是輸入(0),並且此方法的參數在輸入的其餘部分。 有沒有辦法用這些參數調用這個方法?
你的輸入字符串是什麼樣的?我只問,因爲你的正則表達式有點奇怪。 –
該字符串看起來像'method_name paramList',其中paramList是由逗號,空格或兩者混合分隔的可變數量的參數。所以正則表達式應該將其分解爲一個[method_name,param1,param2,...]形式的數組。 PS:它實際上應該是'%r {[/ [[:blank:]] /,] +}'我同時修正了這個問題。 – Ramses