SqueakByExample:1.4

From 흡혈양파의 번역工房
Revision as of 15:12, 17 July 2018 by Onionmixer (talk | contribs) (검수 20180718)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Workspace 와 Transcript

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


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


Squeak comment.pngTranscript와 Workspace 창의 위치와 크기를 조절하여, Workspace 와 Transcript를 정확히 겹치도록 만드십시오.


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

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

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

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


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

Transcript show: 'hello world'; cr.

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


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


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

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


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

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


Notes