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