확인 방법을 기존의 이해되지, 그래서 다음과 같이이다 :메시지
receiver selectors
반환
#(#expression #expression: #mondrianLabel #accept: #name)
그러나
receiver expression
이 MessageNotUnderstood
를 throw합니다.
이 문제를 해결하는 방법과 그 원인은 무엇입니까?
확인 방법을 기존의 이해되지, 그래서 다음과 같이이다 :메시지
receiver selectors
반환
#(#expression #expression: #mondrianLabel #accept: #name)
그러나
receiver expression
이 MessageNotUnderstood
를 throw합니다.
이 문제를 해결하는 방법과 그 원인은 무엇입니까?
아마도 expression
메시지를 해당 클래스의 인스턴스 대신 클래스에 보냈을 것입니다.
receiver selectors
의 결과가 #(#expression #expression: #mondrianLabel #accept: #name)
인 경우 receiver
이 대부분 클래스 일 수 있습니다. 메시지 #selectors
은 클래스 Behavior
에 구현되고 클래스의 인스턴스 메서드 선택기를 반환합니다. 즉, 클래스 (또는 그 하위 클래스)의 인스턴스는 나열된 메시지를 이해합니다. 당신이 receiver expression
을 평가하는 경우
따라서, 당신은 메시지 #expression
가 당신의 receiver
변수의 값입니다 클래스의 인스턴스에 정의되어 있기 때문에 메시지가 예외를 이해하지 얻을 것이다.
감사합니다. 나는 질문을 게시 한 후 5 분 후에 그것을 알아 냈다. 그러나 그 전에 나는 조사하는데 약 30 분을 보냈다 ... – Uko
'statement'를'receiver'로 변경하여 질문을 명확히 해줄 것이라고 생각합니다. 이것은 더 적절한 이름입니다. –