ComputerProgrammingwithGNUSmalltalk:3.2

From 흡혈양파의 번역工房
Revision as of 09:03, 21 September 2012 by Onionmixer (talk | contribs) (CPGS 터미널에출력을표시하는다른방법 페이지 추가)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

터미널에 출력을 표시하는 다른 방법

다음 절로 진행하기 전에, 터미널에 텍스트를 출력하는 다른 방법을 보여줄 것입니다. 이 방법은 printNl 메시지와 함께 책 전체에 걸쳐 자주 사용할 예정입니다.


문자열 객체에게 printNl 이라는 메시지를 보내서 자신을 터미널에 출력하라고 명령했지만, 이 과정을 역으로 생각해서, 터미널에게 문자열 객체를 주면서 이것의 값을 출력하라고 메시지를 보낼 수 있습니다. 비록 다른 개념에서 표준출력이라는 이름이지만, 표준 출력은 스몰토크에서 Transcript라는 이름을 갖고 있습니다. 그리고 텍스트를 표시하기 위한 Transcript가 가지고 있는 메시지 선택자는 show: 입니다. 선택자의 끝에 콜론이 붙는 것으로 생각해볼 때, show: 선택자는 표시하기 원하는 문자열 객체 인자를 필요로 합니다. 여기 gst 명령어를 통하여 GNU 스몰토크 인터프리터가 수행할 예제가 있습니다. 아래의 코드를 입력한 후, <Enter>를 치십시오.

Transcript show: 'Hello World!'
Hello World!


문자열 객체에서 printNl 메시지를 사용했던 것과는 약간 다른 점을 알아차릴 수 있을 것입니다. 예를 들어, 이번에는 출력 주변에 작은 따옴표가 없습니다. 또한 출력 다음에 줄바꿈도 일어나질 않았습니다. 조금 있다가 메시지 캐스캐이딩 부분에서 Transcript를 사용하였을 때, 출력 끝에 개행 문자를 출력하는 어떻게 추가할 수 있을지 보여드리겠습니다. 마지막으로, 이 printNl 메시지를 사용했을 때 두 번 출력되던 것이, 한 번만 출력되었다는 것입니다. 그 이유는 반환되는 객체가 Transcript 자신이고, Transcript는 문자열의 표현이 없기 때문입니다.