SqueakByExample:3.3: Difference between revisions

From 흡혈양파의 번역工房
Jump to navigation Jump to search
(번역수정)
(주석추가)
Line 26: Line 26:




(먼저 우리는 factorial을 3에 보내고, +6을 1로 보낸다음, raisedTo:7을 2에 보냅니다.) 앞서 배운, 기호 expression ⇒ result 를 수식 계산 결과를 보여주기 위해 사용한다는 것을 상기해 주시기 바랍니다.
 
(먼저 우리는 factorial을 3에 보내고, +6을 1로 보낸다음, raisedTo:7을 2에 보냅니다.<ref name="도움말1">해당되는 문장을 조금 더 자세히 분석한 내용은 http://ta.onionmixer.net/wordpress/?p=146 이곳을 참고하시면 됩니다.</ref>) 앞서 배운, 기호 expression ⇒ result 를 수식 계산 결과를 보여주기 위해 사용한다는 것을 상기해 주시기 바랍니다.


우선 순위에 따라, 처리는 엄격하게 왼쪽에서 오른쪽으로 진행합니다. 따라서 아래 계산식의 결과는
우선 순위에 따라, 처리는 엄격하게 왼쪽에서 오른쪽으로 진행합니다. 따라서 아래 계산식의 결과는

Revision as of 13:26, 21 February 2013

메시지 보내기

스퀵에는 3가지 종류의 메시지가 있습니다.

  1. 단항 메세지는 인자를 취하지 않습니다. 1 factorial은 메시지 factorial을 오브젝트 1에 보냅니다.
  2. 이항 메시지는 정확히 하나의 인자를 취합니다. 1+2는 인자 2와 함께 메시지 +를 오브젝트 1에 보냅니다.
  3. 키워드 메시지는 임시로 여러 개의 인자를 취합니다. 2 raisedTo:6 modulo: 10은 메시지 셀렉터 raisedTo:modulo:와 인자 6과 10으로 구성된 메시지를 오브젝트 2에 보냅니다.


단항 메시지 셀렉터는 알파벳-숫자 문자로 구성되어 있으며, 소문자로 시작합니다.

이항 메시지 셀렉터는 다음 집합의 하나 이상의 문자로 이루어져 있습니다:

+ - / \ * _ < > = @ % | & ? ,


키워드 메시지 셀렉터는 소문자로 시작하며 콜론으로 끝나는 알파벳 숫자 키워드의 모음으로 구성되어 있습니다.

단항 메시지는 가장 높은 우선순위를 가지고 있으며, 그 다음 이항 메시지고, 마지막이 키워드 메시지 입니다. 따라서:

2 raisedTo: 1 + 3 factorial  128


(먼저 우리는 factorial을 3에 보내고, +6을 1로 보낸다음, raisedTo:7을 2에 보냅니다.[1]) 앞서 배운, 기호 expression ⇒ result 를 수식 계산 결과를 보여주기 위해 사용한다는 것을 상기해 주시기 바랍니다.

우선 순위에 따라, 처리는 엄격하게 왼쪽에서 오른쪽으로 진행합니다. 따라서 아래 계산식의 결과는

1 + 2 * 3  9

7이 아닙니다. 계산의 순서를 바꾸려면 괄호를 사용해야 합니다:

1 + (2 * 3)  7


메시지 보내기는 마침표와 세미콜론으로 작성합니다. 마침표로 구분한 구문의 순차 배치는 선언문과 같이 개별로 나뉘어진 구문을 순차적으로 처리하도록 합니다.

Transcript cr.
Transcript show: 'hello world'.
Transcript cr


이 코드는 cr을 Transcript 오브젝트에 보낸 후, show: 'hello world'에 보내고, 마지막으로 다른 cr을 보냅니다.

여러가지 메시지를 동일한 수신자로 보내고 있을 때, 이 시리즈는 종속 구조와 같이 더욱 간결하게 표현할 수 있습니다. 수신자는 한 번 만 구체적으로 지정하며, 메시지 시퀀스는 세미콜론으로 구분합니다:

Transcript cr;
  show: 'hello world';
  cr

이것은 앞의 예제와 정확히 같은 결과를 냅니다.


Notes

  1. 해당되는 문장을 조금 더 자세히 분석한 내용은 http://ta.onionmixer.net/wordpress/?p=146 이곳을 참고하시면 됩니다.