<?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_083</id>
	<title>GnuSmalltalkUsersGuide:BaseChapter 083 - 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_083"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_083&amp;action=history"/>
	<updated>2026-05-02T01:29:00Z</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_083&amp;diff=4071&amp;oldid=prev</id>
		<title>Onionmixer: GSUG Getopt 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_083&amp;diff=4071&amp;oldid=prev"/>
		<updated>2014-01-27T10:33:34Z</updated>

		<summary type="html">&lt;p&gt;GSUG Getopt 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;Getopt&lt;br /&gt;
&lt;br /&gt;
==Getopt==&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;
:해당 클래스는 주로 인스턴스화되지 않는다. 클래스 메서드는 스몰토크로부터 명령행을 파싱하는 방법을 제공한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Getopt 클래스: 인스턴스 생성===&lt;br /&gt;
&lt;br /&gt;
====parse: args with: pattern do: actionBlock====&lt;br /&gt;
&lt;br /&gt;
패턴에 명시된 구문에 따라 args 내의 명령행 인자를 파싱하라. 발견되는 명령행 옵션마다 2 인자 블록 actionBlock이 평가되고 옵션명과 인자를 전달한다. 파일명(혹은 옵션이 아닌 다른 명령행 인자)의 경우 블록의 첫 번째 인자가 nil이 될 것이다. 인자가 없는 옵션의 경우 혹은 선택적 인자(optional argument)가 명시되지 않은 옵션의 경우, 블록의 두 번째 인자가 nil이 될 것이다. 짧은 옵션의 경우 옵션명은 문자 객체로서, 긴 옵션의 경우 문자열로서 전달될 것이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
오류가 발견되면 nil이 리턴된다. 패턴의 구문에 관한 상세한 정보는 #parse:with:do:ifError:를 참고한다.&lt;br /&gt;
&lt;br /&gt;
====parse: args with: pattern do: actionBlock ifError: errorBlock====&lt;br /&gt;
&lt;br /&gt;
패턴에 명시된 구문에 따라 args 내의 명령행 인자를 파싱하라. 발견되는 명령행 옵션마다 2 인자 블록 actionBlock이 평가되고 옵션명과 인자를 전달한다. 파일명(혹은 옵션이 아닌 다른 명령행 인자)의 경우 블록의 첫 번째 인자가 nil이 될 것이다. 인자가 없는 옵션의 경우 혹은 선택적 인자(optional argument)가 명시되지 않은 옵션의 경우, 블록의 두 번째 인자가 nil이 될 것이다. 짧은 옵션의 경우 옵션명은 문자 객체로서, 긴 옵션의 경우 문자열로서 전달될 것이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
오류가 발견되면 파싱이 중단되고, errorBlock이 평가되어 리턴된 값을 응답한다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
패턴의 여백으로 구분된 부분(&amp;#039;단어(word)&amp;#039;)마다 명령행 옵션을 명시한다. 단어가 콜론으로 끝나면 옵션은 의무 인자(mandatory argument)를 가질 것이다. 단어가 두 개의 콜론으로 끝나면 옵션은 선택적 인자(optional argument)를 가질 것이다. 콜론 앞에 다수의 옵션명(&amp;#039;-l&amp;#039;과 같은 짧은 이름 또는 &amp;#039;-long&amp;#039;과 같은 긴 이름)을 명시 가능하다. 옵션을 actionBlock으로 전달하기 전에 이름은 마지막 이름으로 정규화될 것이다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
긴 옵션의 접두사는 actionBlock으로 전달하기 전에 전체 이름으로 정규화되고 유일한 이름을 가지는 한 허용된다. 뿐만 아니라 옵션의 전체명이 더 긴 옵션의 접두사라 하더라도 허용된다. &lt;br /&gt;
&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>