SqueakByExample:1.4

From 흡혈양파의 번역工房
Revision as of 13:10, 4 March 2013 by Onionmixer (talk | contribs) (번역수정)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

워크스페이스와 트랜스크립트

Squeak comment.png열려 있는 모든 창을 닫으십시오. 도구 플랩(the Tools flap)을 열기 위해 스퀵 환경 맨 오른쪽에 있는 Tools 탭을 클릭하십시오.


스퀵의 몇 가지 핵심 도구를 위한 아이콘(그림 1.9)을 보실 것입니다. 트랜스크립트와 워크스페이스을 끌어 움직입니다.


Squeak comment.png트랜스크립트와 워크스페이스창의 위치와 크기를 조절하여, 워크스페이스와 트랜스크립트를 정확히 겹치도록 만드십시오.


모서리들 중 한 곳을 끌어 움직이거나, "모픽 손잡이morphic handles"를 불러오기 위해 창을 파랑 클릭하고 하단 아래쪽의 노랑 핸들을 끌어 움직여 창 크기를 다시 조정 할 수 있습니다.

언제든 오직 한 개의 창만 활성화됩니다. 항상 위에 위치하고 해당 라벨이 강조됩니다. 마우스 커서는 입력을 원하는 창에 반드시 위치해야 합니다.

트랜스크립트는 시스템 메시지를 기록하기 위해 종종 사용하는 객체입니다. 트랜스크립트는 “시스템 콘솔”의 한 종류입니다. 트랜스크립트는 매우 느리므로, 트랜스크립트를 열고 특정 연산을 위해 기록할 경우, 10배나 더 느려진다는 것을 참고하셔야 합니다. 뿐만 아니라, 트랜스크립트는 스레드로부터 안전하지 않으므로, 여러 객체를 트랜스크립트에 동시에 기록할 경우 이상한 문제들을 경험할 수 있습니다.

워크스페이스는 여러분이 실험하고 싶은 스몰토크 코드 일부를 입력하는 작업에 유용합니다. 여러분은 또한 단순히 할 일 목록to-do lists 또는 누군가가 여러분의 이미지를 사용할 때를 위한 설명서와 같이, 기억을 원하는 임시 텍스트를 입력하는 용도로 워크스페이스를 사용할 수 있습니다. 워크스페이스는 이전에 다운로드한 표준 이미지의 경우와 같이, 종종 캡쳐한 이미지에 대한 문서를 유지하기 위해 자주 사용합니다. (그림 1.2 참조)


Squeak comment.png다음 텍스트를 워크스페이스Workspace에 입력하십시오.

Transcript show: 'hello world'; cr.

방금 입력한 텍스트의 아무 지점에서 워크스페이스Workspace 더블 클릭 해보십시오. 클릭한 장소에 따라, 어떻게 전체 단어, 전체 문자열 또는 전체 텍스트를 선택하는지에 주목하도록 합니다.


Squeak comment.png입력한 텍스트를 선택하고 노랑 클릭하십시오. do it (d)을 선택하십시오.


트랜스크립트창(그림 1.10)에 "hello world" 텍스트가 어떻게 나오는지 살펴보십시오. 다시 해보십시오. (메뉴 항목 do it (d) 에 있는 (d)는 단축키가 CMD-d임을 알려줍니다. 더 많은 내용은 다음 장을 참고하십시오!)

그림 1.10: 프로그램식 "수행"

방금 첫번째 스몰토크 프로그램식을 처리했습니다! 트랜스크립트 객체에 메시지와 cr[개행 문자(carrige return)] 가 따라오는 show: 'hello world' 메시지를 보냈습니다. 트랜스크립트는 이후 메시지로 무엇을 해야 할 지 결정하고 show: 와 cr 메시지를 다루기 위한 메서드를 찾았으며, 적절하게 반응하였습니다.

스몰토커와 한동안 대화를 해보셨다면, "연산 호출call an operation" 또는 "메서드 불러오기invoke a method"와 같은 표현을 사용하지 않고, 그 대신 "메시지 보내기send a message"라는 표현을 사용함을 재빨리 눈치채셨을 것입니다. 객체가 그 자체의 동작에 책임을 갖고 있다는 생각을 반영합니다. 객체가 무슨 일을 하는지 알려 주는 것이 아니라, 대신 메시지를 보내어 객체에게 무엇을 할 지 정중하게 요청합니다. 여러분이 아닌 객체가 여러분의 메시지에 반응하기 위한 적절한 메서드를 선택합니다.

Notes