루비에서 metaprogramming을하고 있는데 method_missing 구현에서 전화 사이트가 할당에 사용되는지 알 수 있습니까? 예를 들어메소드가 루비에서 어떤 것을 반환해야하는지 알 수 있습니까?
:
x = special_function 'param'
는 method_missing 구현에 의해 잡힐 것입니다. 함수가 다음과 같이 호출되었는지 확인할 수 있는지 알고 싶습니다.
special_function 'param'
즉. 과제에 왼손잡이가 없다.
코드에서 위의 두 예제의 차이를 알 수 있습니까? 모든 방법은 항상 뭔가을 반환하는 방법을 평가하기가 호출되는 상황에 독립적이기 때문에이를 생각하지 않을
일을 나는 완전히이 답변에 동의와 특히 "같은 문제를 볼 수있는 다른 방법"의 존재 – galymzhan
그게 고마워요. 호출을 구별하고자하는 이유는 반환 값이 예상되는 경우 동적으로 만드는 메서드가 추가 작업을 수행해야한다는 것입니다. 메시지 버스에 동적으로 배치하고 메시지 버스에 호출 중 일부는 '화재 및 잊어 버림'이고 일부는 '요청 응답'입니다. – LenW
메소드에 관해서 일반적으로 볼 수있는 방법은 다음과 같습니다. 그것은 다른 경우에 다르게 행동합니다. 어쩌면 다른 방법이어야합니다. 이것이 옵션이 아닌 경우 기본값을 가진 매개 변수가 문제를 해결할 수 있습니다. – Nikhil