1
我有一类具有一些方法如何使用通过参数传递的名称调用方法?
class Test
def add(a,b)
a+b
end
...
end
我想测试,动态地,如果一类和方法被定义,并且置方法。 这里是代码和问题=(
def methodInsideDefined?(className, methodName, param1, param2, result)
if(className.is_a?(Class) && className.method_defined?(:methodName))
className.new.methodName(param1,param2).eql?(result)
end
end
所以,如果我打电话:
methodInsideDefined?(Test, add, 1, 2, 3)
我应该得到一个真正的价值,但我得到一个:
NameError: undefined local variable or method ‘add’ for main:Object
请以静态方式忽略参数编号,稍后我将获取动态参数编号,但如果您有一个具有动态编号参数的解决方案,请告诉我。= D
是的,我是一个红宝石noobie。
太简单了!非常感谢你@Mischa,我在里面使用了这个符号,因为我正在和Pry一起测试,它需要符号,'send'是这里的关键。工作得很好。我现在尝试一个动态参数的解决方案。再次感谢。 – 2013-02-20 15:33:09