<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=GnuSmalltalkUsersGuide%3ABaseChapter_062</id>
	<title>GnuSmalltalkUsersGuide:BaseChapter 062 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=GnuSmalltalkUsersGuide%3ABaseChapter_062"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_062&amp;action=history"/>
	<updated>2026-05-01T14:29:08Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_062&amp;diff=4050&amp;oldid=prev</id>
		<title>Onionmixer: GSUG Dictionary 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_062&amp;diff=4050&amp;oldid=prev"/>
		<updated>2014-01-27T05:18:40Z</updated>

		<summary type="html">&lt;p&gt;GSUG Dictionary 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;Dictionary&lt;br /&gt;
&lt;br /&gt;
==Dictionary==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;네임스페이스 Smalltalk에 정의됨&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;슈퍼클래스: HashedCollection&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;범주: 컬렉션-Keyed&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:나는 유일한 객체에 의해 색인되는 객체인 dictionary를 구현하고 (주로 Symbol의 인스턴스), 다른 객체를 해당 색인과 연관시킨다. 나는 상등 연산자 =를 이용해 색인의 등가성을 결정한다. 일반 Dictionary를 사용하는 대부분의 장소에서는 LookupTable이 더 편리할 것이다; 사용 전에 LookupTable의 주석을 참고하라. 몇몇 특수 사례에서 유용한 특수 기능도 몇 가지 있다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dictionary 클래스: 인스턴스 생성===&lt;br /&gt;
&lt;br /&gt;
====from: anArray====&lt;br /&gt;
&lt;br /&gt;
{1 -&amp;gt; 2. 3 -&amp;gt; 4}처럼 anArray 내의 Association의 키와 값에서 생성된 새 dictionary를 응답하라. anArray는 bracesyntax(중괄호 구문)를 이용해 명시되어야 한다. &lt;br /&gt;
&lt;br /&gt;
====new====&lt;br /&gt;
&lt;br /&gt;
기본 크기로 된 새 dictionary를 생성하라. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dictionary: 접근하기===&lt;br /&gt;
&lt;br /&gt;
====add: newObject====&lt;br /&gt;
&lt;br /&gt;
newObject 연관을 수신자에게 추가하라. &lt;br /&gt;
&lt;br /&gt;
====addAll: aCollection====&lt;br /&gt;
&lt;br /&gt;
모든 &amp;#039;aCollection&amp;#039; 의 요소를 수신자에게 추가하고 aCollection를 응답하라. &lt;br /&gt;
&lt;br /&gt;
====associationAt: key====&lt;br /&gt;
&lt;br /&gt;
주어진 키에 대한 키/값 Association을 응답하라. 키를 찾을 수 없는 경우 실패한다. &lt;br /&gt;
&lt;br /&gt;
====associationAt: key ifAbsent: aBlock====&lt;br /&gt;
&lt;br /&gt;
주어진 키에 대한 키/값 Association을 응답하라. 키를 찾을 수 없는 경우 aBlock을 평가하라(결과를 응답하라).&lt;br /&gt;
&lt;br /&gt;
====associations====&lt;br /&gt;
&lt;br /&gt;
Dictionary의 내용을 Associations의 Set로서 리턴하라. &lt;br /&gt;
&lt;br /&gt;
====at: key====&lt;br /&gt;
&lt;br /&gt;
주어진 키에 연관된 값을 응답하라. 키를 찾을 수 없는 경우 실패한다. &lt;br /&gt;
&lt;br /&gt;
====at: key ifAbsent: aBlock====&lt;br /&gt;
&lt;br /&gt;
주어진 키에 연관된 값을 응답하고, 키를 찾을 수 없는 경우 aBlock을 평가한 결과를 응답하라. &lt;br /&gt;
&lt;br /&gt;
====at: aKey ifAbsentPut: aBlock====&lt;br /&gt;
&lt;br /&gt;
주어진 키에 연관된 값을 응답하라. 키를 찾을 수 없는 경우 aBlock을 평가하고 결과를 리턴하기 전에 결과를 aKey와 연관시켜라.&lt;br /&gt;
&lt;br /&gt;
====at: aKey ifPresent: aBlock====&lt;br /&gt;
&lt;br /&gt;
aKey가 없는 경우 nil을 응답하라. 그 외의 경우 aBlock을 평가하고 연관된 값을 전달하며, 호출의 결과를 응답하라. &lt;br /&gt;
&lt;br /&gt;
====at: key put: value====&lt;br /&gt;
&lt;br /&gt;
값을 주어진 키와 연관시켜 보관하라. &lt;br /&gt;
&lt;br /&gt;
====atAll: keyCollection====&lt;br /&gt;
&lt;br /&gt;
주어진 키만 포함하는 Dictionary를 응답하라. 찾을 수 없다면 실패한다. &lt;br /&gt;
&lt;br /&gt;
====keyAtValue: value====&lt;br /&gt;
&lt;br /&gt;
주어진 값에 연관된 키를 응답하고, 값을 찾을 수 없는 경우 nil을 응답하라.&lt;br /&gt;
&lt;br /&gt;
====keyAtValue: value ifAbsent: exceptionBlock====&lt;br /&gt;
&lt;br /&gt;
주어진 값에 연관된 키를 응답하라. 값을 찾을 수 없는 경우 exceptionBlock를 평가하라(결과를 응답). 중요: 값의 비교에 ==가 사용된다. &lt;br /&gt;
&lt;br /&gt;
====keys====&lt;br /&gt;
&lt;br /&gt;
수신자의 키를 포함하는 Set의 유형을 응답하라. &lt;br /&gt;
&lt;br /&gt;
====values====&lt;br /&gt;
&lt;br /&gt;
수신자의 값을 포함하는 Array를 응답하라. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dictionary: 끔찍한 ST-80 호환성 hacks===&lt;br /&gt;
&lt;br /&gt;
====findKeyIndex: key====&lt;br /&gt;
&lt;br /&gt;
키가 색인된 변수의 키로서 존재하는지 보기를 시도한다. Nil 또는 올바른 키와 연관이 발견되는 즉시 그 슬롯의 색인이 응답된다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dictionary: dictionary 열거하기===&lt;br /&gt;
&lt;br /&gt;
====associationsDo: aBlock====&lt;br /&gt;
&lt;br /&gt;
dictionary 내 각 연관을 aBlock으로 전달하라.&lt;br /&gt;
&lt;br /&gt;
====collect: aBlock====&lt;br /&gt;
&lt;br /&gt;
aBlock으로 각 값의 전달과 리턴 값의 전달을 통해 값을 얻으면서 키가 동일한 새 dictionary를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====do: aBlock====&lt;br /&gt;
&lt;br /&gt;
dictionary 내 각 값을 aBlock으로 전달하라. &lt;br /&gt;
&lt;br /&gt;
====keysAndValuesDo: aBlock====&lt;br /&gt;
&lt;br /&gt;
dictionary 내 각 키/값 쌍을 구분된 두 개의 매개변수로서 aBlock에 전달하라. &lt;br /&gt;
&lt;br /&gt;
====keysDo: aBlock====&lt;br /&gt;
&lt;br /&gt;
dictionary 내 각 키를 aBlock으로 전달하라. &lt;br /&gt;
&lt;br /&gt;
====reject: aBlock====&lt;br /&gt;
&lt;br /&gt;
aBlock이 false를 리턴하는 키/값 쌍을 포함하는 새 dictionary를 응답하라. aBlock은 그 쌍에서 값 부분만 수신한다.&lt;br /&gt;
&lt;br /&gt;
====select: aBlock====&lt;br /&gt;
&lt;br /&gt;
aBlock이 true를 리턴하는 키/값 쌍을 포함하는 새 dictionary를 응답하라. aBlock은 그 쌍에서 값 부분만 수신한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dictionary: dictionary 제거하기===&lt;br /&gt;
&lt;br /&gt;
====remove: anAssociation====&lt;br /&gt;
&lt;br /&gt;
dictionary에서 anAssociation의 키를 제거하라.&lt;br /&gt;
&lt;br /&gt;
====remove: anAssociation ifAbsent: aBlock====&lt;br /&gt;
&lt;br /&gt;
dictionary에서 anAssociation의 키를 제거하라.&lt;br /&gt;
&lt;br /&gt;
====removeAllKeys: keys====&lt;br /&gt;
&lt;br /&gt;
오류를 발생시키지 않고 keys 내 모든 키를 제거하라.&lt;br /&gt;
&lt;br /&gt;
====removeAllKeys: keys ifAbsent: aBlock====&lt;br /&gt;
&lt;br /&gt;
keys 내 모든 키를 제거하고, 키가 누락되었음을 발견할 때마다 매개변수로서 aBlock에게 전달하라.&lt;br /&gt;
&lt;br /&gt;
====removeKey: key====&lt;br /&gt;
&lt;br /&gt;
dictionary에서 전달된 키를 제거하고, 발견할 수 없는 경우 실패한다.&lt;br /&gt;
&lt;br /&gt;
====removeKey: key ifAbsent: aBlock====&lt;br /&gt;
&lt;br /&gt;
dictionary에서 전달된 키를 제거하고, 발견할 수 없는 경우 aBlock을 평가한 결과를 응답하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dictionary: dictionary 검사하기===&lt;br /&gt;
&lt;br /&gt;
====includes: anObject====&lt;br /&gt;
&lt;br /&gt;
수신자가 그 값들 중 하나로 anObject를 포함하는지 응답하라.&lt;br /&gt;
&lt;br /&gt;
====includesAssociation: anAssociation====&lt;br /&gt;
&lt;br /&gt;
수신자가 anAssociation의 키에 해당하는 키를 포함하고, 그 값이 anAssociation의 값인지를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====includesKey: key====&lt;br /&gt;
&lt;br /&gt;
수신자가 주어진 키를 포함하는지를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====occurrencesOf: aValue====&lt;br /&gt;
&lt;br /&gt;
aValue의 발생 횟수가 수신자의 값들 중 하나인지 응답하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dictionary: 네임스페이스 프로토콜===&lt;br /&gt;
&lt;br /&gt;
====allSuperspaces====&lt;br /&gt;
&lt;br /&gt;
컬렉션 내 수신자의 모든 슈퍼스페이스를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====allSuperspacesDo: aBlock====&lt;br /&gt;
&lt;br /&gt;
수신자의 슈퍼스페이스마다 aBlock을 평가하라 (BindingDictionary의 경우 슈퍼스페이스가 0).&lt;br /&gt;
&lt;br /&gt;
====definedKeys====&lt;br /&gt;
&lt;br /&gt;
수신자의 키를 포함하는 Set의 유형을 응답하라. &lt;br /&gt;
&lt;br /&gt;
====definesKey: key====&lt;br /&gt;
&lt;br /&gt;
수신자가 주어진 키를 정의하는지를 응답하라. &amp;#039;정의&amp;#039;란 수신자의 슈퍼스페이스가 존재할 경우 그것이 고려되지 않음을 의미한다.&lt;br /&gt;
&lt;br /&gt;
====hereAssociationAt: key====&lt;br /&gt;
&lt;br /&gt;
이 네임스페이스*에서 &amp;#039;key&amp;#039;가 명시한 대로 명명된 변수에 대한 연관을 리턴하라. 키를 찾을 수 없는 경우 검색은 네임스페이스에서 실행되지 *않을* 것이며 메서드는 실패할 것이다.&lt;br /&gt;
&lt;br /&gt;
====hereAssociationAt: key ifAbsent: aBlock====&lt;br /&gt;
&lt;br /&gt;
이 네임스페이스*에서 &amp;#039;key&amp;#039;가 명시한 대로 명명된 변수에 대한 연관을 리턴하라. 키를 찾을 수 없는 경우 검색은 네임스페이스에서 실행되지 *않을* 것이며 aBlock이 즉시 평가될 것이다.&lt;br /&gt;
&lt;br /&gt;
====hereAt: key====&lt;br /&gt;
&lt;br /&gt;
이 네임스페이스*에서 &amp;#039;key&amp;#039;가 명시한 대로 명명된 변수에 대한 연관을 리턴하라. 키를 찾을 수 없는 경우 검색은 네임스페이스에서 실행되지 *않을* 것이며 메서드는 실패할 것이다.&lt;br /&gt;
&lt;br /&gt;
====hereAt: key ifAbsent: aBlock====&lt;br /&gt;
&lt;br /&gt;
이 네임스페이스*에서 &amp;#039;key&amp;#039;가 명시한 대로 명명된 변수에 대한 연관을 리턴하라. 키를 찾을 수 없는 경우 검색은 네임스페이스에서 실행되지 *않을* 것이며 aBlock이 즉시 평가될 것이다.&lt;br /&gt;
&lt;br /&gt;
====inheritsFrom: aNamespace====&lt;br /&gt;
&lt;br /&gt;
aNamespace가 수신자의 직접 및 간접 슈퍼스페이스 중 하나에 해당하는지를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====superspace====&lt;br /&gt;
&lt;br /&gt;
수신자의 슈퍼스페이스를 응답하라. BindingDictionary의 경우 nil이 될 것이다.&lt;br /&gt;
&lt;br /&gt;
====withAllSuperspaces====&lt;br /&gt;
&lt;br /&gt;
컬렉션 내 수신자와 그 슈퍼스페이스를 모두 응답하라. BindingDictionary의 경우 0이 될 것이다.&lt;br /&gt;
&lt;br /&gt;
====withAllSuperspacesDo: aBlock====&lt;br /&gt;
&lt;br /&gt;
수신자와 그의 모든 직접 및 간접 슈퍼스페이스에 대해 aBlock을 호출하라 (BindingDictionary는 아무 것도 갖지 않겠지만).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dictionary: 인쇄하기===&lt;br /&gt;
&lt;br /&gt;
====inspect====&lt;br /&gt;
&lt;br /&gt;
수신자 내 모든 인스턴스 변수와 객체를 Transcript 상에 인쇄하라. &lt;br /&gt;
&lt;br /&gt;
====printOn: aStream====&lt;br /&gt;
&lt;br /&gt;
수신자의 표현을 aStream 상에 인쇄하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dictionary: 재해싱하기===&lt;br /&gt;
&lt;br /&gt;
====rehash====&lt;br /&gt;
&lt;br /&gt;
수신자를 재해싱하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dictionary: 제거하기===&lt;br /&gt;
&lt;br /&gt;
====removeAllKeysSuchThat: aBlock====&lt;br /&gt;
&lt;br /&gt;
aBlock이 true를 리턴하는 모든 키를 수신자로부터 제거하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dictionary: 보관하기===&lt;br /&gt;
&lt;br /&gt;
====storeOn: aStream====&lt;br /&gt;
&lt;br /&gt;
수신자로 컴파일하는 스몰토크 코드를 aStream 상에 인쇄하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Dictionary: 검사하기===&lt;br /&gt;
&lt;br /&gt;
==== = aDictionary====&lt;br /&gt;
&lt;br /&gt;
수신자와 aDictionary가 같은지 응답하라.&lt;br /&gt;
&lt;br /&gt;
====hash====&lt;br /&gt;
&lt;br /&gt;
수신자에 대한 해시값을 응답하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:GnuSmalltalkUsersGuide]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>