1
나는 몇 가지 방법 내가 클래스와 메소드가 정의 된 경우, 동적 테스트 및 방법을 주장 할 매개 변수로 전달 된 이름으로 메소드를 호출하는 방법은 무엇입니까?
class Test
def add(a,b)
a+b
end
...
end
와 클래스가 있습니다. 다음은 코드와 문제 = (I 전화다면
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
예, 저는 Ruby noobie입니다.
너무 간단합니다! 대단히 감사합니다 @ Mischa, 나는 Pry로 테스트 중이었기 때문에 심볼을 사용했고 심볼을 필요로했습니다.'send '가 핵심이었습니다. 잘 작동했습니다. 이제 동적 매개 변수에 대한 솔루션을 시도해 보겠습니다. 다시 한번 감사드립니다. –