我是一个测试员,,呵呵,最近使用ruby实现automation test时需要将一个class及其方法配置在一个xml中,这样一来我就需要实现动态调用class.即像java中的forName方法一样,可以将字符型的类名及方法名转成类和方法.找了一段时间终于查到,原来是用const_get 和send方法,现分享一下,请看示例:
class Klass
 def hello(word)
   return word
 end
end

className='Klass'
methodName='hello'
param1='word'
k=Kernel.const_get(className).new()
if k.respond_to?(methodName)
  puts k.send(methodName,param1)
end