SqueakByExample:4.6

From 흡혈양파의 번역工房
Revision as of 14:31, 13 August 2012 by Onionmixer (talk | contribs) (SBE 캐스케이드된메세지 페이지 추가)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

캐스케이드된 메시지(cascaded message)

스몰토크는 세미콜론 (;)을 사용하여 동일한 수신자(receiver)에게 다중 메시지(multiple messages)를 보내기 위한 방법을 제공합니다. 이 방법은 스몰토크 용어로 캐스케이드(the cascade)로 지칭됩니다.

표현식 Msg1 ; Msg2
Transcript show: 'Squeak
    is '.
Transcript show: 'fun '.
Transcript cr.
is equivalent to:
Transcript
  show: 'Squeak is';
  show: 'fun ';
  cr

캐스케이드된 메시지를 수신하는 오브젝트 자체가 메시지 보내기(a message send)의 결과가 될 수 있는 현상에 주목해 주십시오. 사실, 모든 캐스케이드된 메시지의 수신자는 캐스케이드에 관여된 첫 번째 메시지의 수신자 입니다. 다음 예시에서, 첫 번재로 캐스케이드된 메시지 setX:setY는 Point new의 평가 결과로 만들어진 점(point)이고, Point의 평가 결과로 만들어진 점이 아닙니다. 그 다음메시지 isZero는 동일한 수신자에게 발송되었습니다.

Point new setX: 25 setY: 35; isZero  false

Notes