<?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_041</id>
	<title>GnuSmalltalkUsersGuide:BaseChapter 041 - 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_041"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_041&amp;action=history"/>
	<updated>2026-05-02T11:17:37Z</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_041&amp;diff=4028&amp;oldid=prev</id>
		<title>Onionmixer: GSUG Continuation 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_041&amp;diff=4028&amp;oldid=prev"/>
		<updated>2014-01-27T04:08:52Z</updated>

		<summary type="html">&lt;p&gt;GSUG Continuation 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;Continuation&lt;br /&gt;
&lt;br /&gt;
==Continuation==&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;슈퍼클래스: Object&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;범주: 언어-구현&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:나의 내부는 goto 명령어와 같다; 나의 생성이 레이블(label)을 설정하면 나의 메서드들은 실행을 한다. 하지만 이것은 매우 강력한 goto 명령어이다. 이 시점에서 걱정이 되겠지만 개념 자체보다는 연속의 사용자만 다룰 것이므로 염려하지 말길 바란다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Continuation 클래스: 인스턴스 생성===&lt;br /&gt;
&lt;br /&gt;
====current====&lt;br /&gt;
&lt;br /&gt;
continuation을 리턴하라.&lt;br /&gt;
&lt;br /&gt;
====currentDo: aBlock====&lt;br /&gt;
&lt;br /&gt;
continuation을 1 인자(one-argument) 블록, aBlock로 전달하고, 그것을 평가한 결과를 리턴하라.&lt;br /&gt;
&lt;br /&gt;
====escapeDo: aBlock====&lt;br /&gt;
&lt;br /&gt;
aBlock이 떨어지지 않음을 인식하고 continuation을 1 인자(one-argument) 블록에 전달하라 (메서드 리턴을 포함하거나, 다른 continuation으로 제어를 양도하기 때문에). 전달할 경우 예외가 신호로 전달되고, 현재 프로세스가 종료될 것이다.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Continuation: 호출===&lt;br /&gt;
&lt;br /&gt;
====callCC====&lt;br /&gt;
&lt;br /&gt;
본래 continuation을 활성화하고 호출자에 대한 continuation를 다시 전달하라. 호출된 continuation는 불안정해지며, 이의 재활성화를 시도 시 모두 예외를 야기할 것이다. 해당 메서드는 하나의 continuation를 다른 continuation로 대체하는 데 사용되기 때문에 일반적으로는 제약이 아니다 (Generator 클래스의 구현 참고). &lt;br /&gt;
&lt;br /&gt;
====oneShotValue====&lt;br /&gt;
&lt;br /&gt;
본래 continuation로 nil을 리턴하여 불안정해진다. 이의 재활성화를 시도 시 예외를 야기할 것이다. 이는 #value에 대한 최적화이다.&lt;br /&gt;
&lt;br /&gt;
====oneShotValue: v====&lt;br /&gt;
&lt;br /&gt;
본래 continuation로 anObject를 리턴하여 불안정해진다. 이의 재활성화를 시도 시 예외를 야기할 것이다. 이는 #value:에 대한 최적화이다.&lt;br /&gt;
&lt;br /&gt;
====value====&lt;br /&gt;
&lt;br /&gt;
본래 continuation으로 nil을 리턴하여 또 다른 활성화를 허용하기 위해 스택을 복사하라. &lt;br /&gt;
&lt;br /&gt;
====value: anObject====&lt;br /&gt;
&lt;br /&gt;
본래 continuation으로 anObject를 리턴하여 또 다른 활성화를 허용하기 위해 스택을 복사하라.&lt;br /&gt;
&lt;br /&gt;
====valueWithArguments: aCollection====&lt;br /&gt;
&lt;br /&gt;
aCollection의 유일한 요소를 본래 continuation으로 리턴하여 (aCollection이 빈 경우 nil을 리턴) 또 다른 활성화를 허용하기 위해 스택을 복사하라.&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>