<?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_012</id>
	<title>GnuSmalltalkUsersGuide:BaseChapter 012 - 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_012"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_012&amp;action=history"/>
	<updated>2026-05-01T15:56:33Z</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_012&amp;diff=3999&amp;oldid=prev</id>
		<title>Onionmixer: GSUG BlockContext 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_012&amp;diff=3999&amp;oldid=prev"/>
		<updated>2014-01-23T07:00:03Z</updated>

		<summary type="html">&lt;p&gt;GSUG BlockContext 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;BlockContext&lt;br /&gt;
&lt;br /&gt;
==BlockContext==&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;슈퍼클래스: ContextPart&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;
:나의 인스턴스들은 실행 스몰토크 블록, 즉 자신이 선언된 환경으로 접근성을 가진 실행 가능 코드의 일부를 표현하고, 매개변수를 취하며, 현재 클래스 외부에서 메서드에 의해 실행되도록 생성된 BlockClosure 객체로부터 발생한다. 블록 컨텍스트는 closure의 값을 계산하기 위해 전송된 메시지에 의해 생성된다. 검사 또는 디버깅에 사용 가능한 메서드 일부와 스택을 제공하기도 한다. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===BlockContext: 접근하기===&lt;br /&gt;
&lt;br /&gt;
====caller====&lt;br /&gt;
&lt;br /&gt;
수신자를 호출한 컨텍스트를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====home====&lt;br /&gt;
&lt;br /&gt;
수신자가 참조하는 MethodContext 를 응답하거나, optimized away일 경우 nil을 응답하라.&lt;br /&gt;
&lt;br /&gt;
====isBlock====&lt;br /&gt;
&lt;br /&gt;
수신자가 블록 컨텍스트인지 여부를 응답하라.&lt;br /&gt;
&lt;br /&gt;
====isDisabled ====&lt;br /&gt;
&lt;br /&gt;
리턴을 실행 시 건너뛰는 컨텍스트는 항상 MethodContexts이므로 false를 응답하라. Non-local 리턴이 이루어질 때마다 체인에서 BlockContexts가 제거되고, #ensure: 블록으로부터 non-local 리턴이 이루어지지 않는 경우 MethodContexts는 그 자리에 유지될 필요가 있다.&lt;br /&gt;
&lt;br /&gt;
====isEnvironment====&lt;br /&gt;
&lt;br /&gt;
해석기가 시작되기 전에도 그에 유효한 실행 환경을 생성하기 위해 GST는 선택자가 nil이고 현재 실행 환경에 대한 마커(marker)로서 사용 가능한 가상 컨텍스트(fake context)를 생성한다. 수신자가 그러한 유형의 컨텍스트인지 여부를 응답하라 (그러한 컨텍스트는 항상 MethodContexts에 해당하므로 항시 false가 될 것이다).&lt;br /&gt;
&lt;br /&gt;
====isUnwind====&lt;br /&gt;
&lt;br /&gt;
non-local 리턴(블록의 enclosing 메서드로부터 리턴, 또는 ContextPart의 #continue: 메서드로의 호출) 이후에도 컨텍스트가 실행을 계속해야 하는지 응답하라.&lt;br /&gt;
&lt;br /&gt;
====nthOuterContext: n====&lt;br /&gt;
&lt;br /&gt;
수신자에 대한 n 번째 외부 블록/메서드 컨텍스트를 응답하라. &lt;br /&gt;
&lt;br /&gt;
====outerContext====&lt;br /&gt;
&lt;br /&gt;
수신자에 대한 외부 블록/메서드 컨텍스트를 응답하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===BlockContext: 디버깅하기===&lt;br /&gt;
&lt;br /&gt;
====isInternalExceptionHandlingContext====&lt;br /&gt;
&lt;br /&gt;
실행추적(backtrace)을 표현할 때 수신자는 사용자에게 숨겨야 하는 컨텍스트인지 응답하라. 블록은 이러한 컨텍스트가 절대 될 수 없지만 나머지 체인도 확인하라. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===BlockContext: 인쇄하기===&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;
==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>