GnuSmalltalkUsersGuide:BaseChapter 113

From 흡혈양파의 번역工房
Revision as of 15:32, 27 January 2014 by Onionmixer (talk | contribs) (GSUG Namespace 페이지 추가)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Namespace

Namespace

네임스페이스 Smalltalk에 정의됨

슈퍼클래스: AbstractNamespace

범주: 언어-구현


나는 슈퍼 네임스페이스를 가진 Namespace이다.


Namespace 클래스: 접근하기

current

현재 네임스페이스를 응답하라.

current: aNamespaceOrClass

현재 네임스페이스를 aNamespace로 설정하고, 클래스인 경우 그것의 클래스 풀(클래스 변수를 보유한 Dictionary)로 설정하라.


Namespace 클래스: 인스턴스 생성 비활성화하기

new

비활성화됨 - #addSubspace: 를 이용해 인스턴스를 생성하라.

new: size

비활성화됨 - #addSubspace: 를 이용해 인스턴스를 생성하라.


Namespace 클래스: 초기화

initialize

사실상 필요 없는 것이 dict.c에서 (함수 네임스페이스_new) 실행할 수 있기 때문이다. 하지만 나는 게으르기 때문에 Smalltalk의 IdentitySet에 대한 구현에 의존하는 편을 선호한다.


Namespace: 접근하기

inheritedKeys

수신자와 그 슈퍼스페이스 내 모든 키의 Set를 응답하라.


Namespace: 네임스페이스 계층구조

siblings

수신자의 슈퍼스페이스에서 상속되는 다른 모든 네임스페이스를 응답하라.

siblingsDo: aBlock

수신자의 슈퍼스페이스에서 상속되는 다른 네임스페이스 각각마다 aBlock을 한 번씩 평가하고 네임스페이스를 매개변수로서 전달하라.


Namespace: 슈퍼스페이스에 대한 오버라이드

associationAt: key ifAbsent: aBlock

'key'가 명시한대로 명명된 변수와 연관된 키/값 쌍을 리턴하라. 키를 찾을 수 없는 경우 슈퍼스페이스에서 검색이 야기되고, 어느 슈퍼스페이스에서도 변수를 찾을 수 없는 경우 aBlock을 평가한다.

associationsDo: aBlock

네임스페이스 내 각 연관을 aBlock으로 전달하라.

at: key ifAbsent: aBlock

'key'가 명시한대로 명명된 변수와 연관된 값을 리턴하라. 키를 찾을 수 없는 경우 슈퍼스페이스에서 검색이 야기되고, 어느 슈퍼스페이스에서도 변수를 찾을 수 없는 경우 aBlock을 평가한다.

at: key ifPresent: aBlock

수신자와 그 슈퍼스페이스에서 aKey를 찾을 수 없는 경우 nil을 응답하라. 그 외의 경우 aBlock을 평가해 연관된 값을 전달하고 호출 결과를 응답하라.

do: aBlock

네임스페이스 내 각기 값을 aBlock으로 전달하라.

includesKey: key

수신자 또는 그 슈퍼스페이스가 주어진 키를 포함하는지를 응답하라.

keysAndValuesDo: aBlock

두 개의 구분된 매개변수에서 수신자의 키와 값 각각을 aBlock으로 전달하라.

keysDo: aBlock

수신자의 각 키를 aBlock으로 전달하라.

set: key to: newValue ifAbsent: aBlock

newValue를 'key'가 명시한대로 명명된 변수로 할당하라. 해당 메서드는 새 변수를 정의하지 않을 것이다; 대신 키를 찾을 수 없는 경우 슈퍼스페이스에서 검색하고, 슈퍼스페이스에서도 찾을 수 없다면 aBlock을 평가할 것이다. newValue를 응답하라.

size

수신자와 각 슈퍼스페이스 내의 키 개수를 응답하라.


Namespace: 인쇄하기

nameIn: aNamespace

현재 네임스페이스가 aNamespace일 때 수신자로 컴파일하는 스몰토크 코드를 응답하라.

printOn: aStream in: aNamespace

현재 네임스페이스가 aNamespace일 때 수신자로 컴파일하는 일부 스몰토크 코드를 aStream 상에 인쇄하라.

storeOn: aStream

수신자로 컴파일하는 스몰토크 코드를 보관하라.


Notes