GnuSmalltalkUsersGuide:BaseChapter 113

From 흡혈양파의 번역工房
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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