ComputerProgrammingwithGNUSmalltalk:3.4

From 흡혈양파의 번역工房
Revision as of 09:07, 21 September 2012 by Onionmixer (talk | contribs) (CPGS 메시지캐스캐이딩 페이지 추가)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

메시지 캐스캐이딩

GNU 스몰토크는 객체의 이름을 매번 쓰지 않고도 여러 메시지를 전달할 수 있도록 허용하고 있습니다. 이것을 메시지 캐스캐이딩message cascading이라고 합니다. 메시지 캐스캐이딩에 대한 문법은 다음과 같습니다.

objectName message1; message2; message3; ... ; messageN


우리가 보내고자 하는 메시지 사이에 세미콜론을 넣기만 하면 됩니다. 세미콜론이 없는 메시지 연쇄와는 다릅니다. 메시지 연쇄의 경우 모든 메시지는 이전 메시지의 결과 객체로 보내집니다.


여기 메시지 캐스캐이딩의 예제가 있습니다.

Transcript show: 'Canol'; cr


cr은 carriage return이라고 불리는 메시지로 Transcript 객체가 개행을 입력하도록 하는 메시지입니다. 따라서 Transcript 객체에 첫 번째 메시지 show: ‘Canol’ 을 보내고, 다음에 cr을 보냅니다.


메시지 캐스캐이딩을 사용할 때에는 주의해야 합니다. 왜냐하면 가끔 우선순위 규칙에 따라 여러분이 예상치 못한 결과가 나올 수 있습니다.