<?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_076</id>
	<title>GnuSmalltalkUsersGuide:BaseChapter 076 - 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_076"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_076&amp;action=history"/>
	<updated>2026-05-02T08:59:43Z</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_076&amp;diff=4064&amp;oldid=prev</id>
		<title>Onionmixer: GSUG FileStream 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=GnuSmalltalkUsersGuide:BaseChapter_076&amp;diff=4064&amp;oldid=prev"/>
		<updated>2014-01-27T07:13:35Z</updated>

		<summary type="html">&lt;p&gt;GSUG FileStream 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;;FileStream&lt;br /&gt;
&lt;br /&gt;
==FileStream==&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;슈퍼클래스: FileDescriptor&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;
:전형적(conventional) 프로그래머들은 나를 파일로 생각한다. 나의 인스턴스 생성 메서드는 디스크 파일명을 수락한다 (또는 UNIX에서의 /dev/rmt0 혹은 VMS에서의 MTA0: 와 같이 명명된 파일 객체로 생각한다).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FileStream class: file-in===&lt;br /&gt;
&lt;br /&gt;
====fileIn: aFileName====&lt;br /&gt;
&lt;br /&gt;
aFileName 파일을 file in하라. File in 조작 중에는 아직 선언되지 않은 전역 변수는 (대문자로 시작) &amp;#039;알려지지 않은 변수&amp;#039; 오류를 발생시키지 않는다. 대신 &amp;#039;Undeclared&amp;#039; dictionary(스몰토크에 상주하는 전역 변수)에서 nil로 정의된다. 변수를 네임스페이스로 추가하는 즉시(예: 클래스를 생성함으로써) Association이 Undeclared로부터 제거되고 네임스페이스 재사용되어 오래된 참조가 자동으로 새 값을 가리킬 것이다.&lt;br /&gt;
&lt;br /&gt;
====fileIn: aFileName ifMissing: aSymbol====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;aSymbol&amp;#039;에 의해 식별된 키(주로 클래스)가 스몰토크 시스템 dictionary에 이미 존재하지 않는 경우에만 조건부로 file in을 실행하라. File in 조작 중에는 아직 선언되지 않은 전역 변수는 (대문자로 시작) &amp;#039;알려지지 않은 변수&amp;#039; 오류를 발생시키지 않는다. 대신 &amp;#039;Undeclared&amp;#039; dictionary(스몰토크에 상주하는 전역 변수)에서 nil로 정의된다. 변수를 네임스페이스로 추가하는 즉시(예: 클래스를 생성함으로써) Association이 Undeclared로부터 제거되고 네임스페이스 재사용되어 오래된 참조가 자동으로 새 값을 가리킬 것이다.&lt;br /&gt;
&lt;br /&gt;
====fileIn: aFileName ifTrue: aBoolean====&lt;br /&gt;
&lt;br /&gt;
제공된 boolean이 true일 경우에만 조건부로 file in을 실행하라. File in 조작 중에는 아직 선언되지 않은 전역 변수는 (대문자로 시작) &amp;#039;알려지지 않은 변수&amp;#039; 오류를 발생시키지 않는다. 대신 &amp;#039;Undeclared&amp;#039; dictionary(스몰토크에 상주하는 전역 변수)에서 nil로 정의된다. 변수를 네임스페이스로 추가하는 즉시(예: 클래스를 생성함으로써) Association이 Undeclared로부터 제거되고 네임스페이스 재사용되어 오래된 참조가 자동으로 새 값을 가리킬 것이다.&lt;br /&gt;
&lt;br /&gt;
====fileIn: aFileName line: lineInteger from: realFileName at: aCharPos====&lt;br /&gt;
&lt;br /&gt;
주어진 행, 파일명, 시작 위치(1 대신)로부터 로딩된 것처럼 오류를 제공하는 aFileName 파일을 file in하라.&lt;br /&gt;
&lt;br /&gt;
====generateMakefileOnto: aStream====&lt;br /&gt;
&lt;br /&gt;
레코드가 마지막으로 true로 설정되었던 file-ins에 대한 make 파일을 생성하고 aStream 상에 보관하라.&lt;br /&gt;
&lt;br /&gt;
====initialize====&lt;br /&gt;
&lt;br /&gt;
Private - 수신자의 클래스 변수를 초기화하라.&lt;br /&gt;
&lt;br /&gt;
====record: recordFlag====&lt;br /&gt;
&lt;br /&gt;
스몰토크가 중첩 file-ins에 관한 정보를 기록해야 하는지 여부를 설정하라. 기록이 활성화되면 file-ins의 개입에 유효한 makefile을 자동으로 생성하도록 #generateMakefileOnto: 를 사용하라.&lt;br /&gt;
&lt;br /&gt;
====require: assoc====&lt;br /&gt;
&lt;br /&gt;
assoc의 키가 스몰토크 시스템 dictionary에 이미 존재하지 않는 경우에만 조건부로 assoc의 값으로부터 file in을 실행하라. File in 조작 중에는 아직 선언되지 않은 전역 변수는 (대문자로 시작) &amp;#039;알려지지 않은 변수&amp;#039; 오류를 발생시키지 않는다. 대신 &amp;#039;Undeclared&amp;#039; dictionary(스몰토크에 상주하는 전역 변수)에 nil로 정의된다. 변수를 네임스페이스로 추가하는 즉시(예: 클래스를 생성함으로써) Association이 Undeclared로부터 제거되고 네임스페이스 재사용되어 오래된 참조가 자동으로 새 값을 가리킬 것이다.&lt;br /&gt;
&lt;br /&gt;
====verbose: verboseFlag====&lt;br /&gt;
&lt;br /&gt;
스몰토크가 file in을 실행 시 디버깅 메시지를 출력해야 하는지를 응답하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FileStream 클래스: 표준 스트림===&lt;br /&gt;
&lt;br /&gt;
====stderr====&lt;br /&gt;
&lt;br /&gt;
프로그램이 발행한 오류 메시지와 진단에 사용 가능한 스몰토크 프로그램의 표준 오류 파일 처리에 부착된 FileStream을 응답하라.&lt;br /&gt;
&lt;br /&gt;
====stdin====&lt;br /&gt;
&lt;br /&gt;
스몰토크 프로그램의 표준 입력 파일 처리에 부착된 FileStream을 응답하는데, 이는 프로그램에 대한 일반 입력 소스이다. &lt;br /&gt;
&lt;br /&gt;
====stdout====&lt;br /&gt;
&lt;br /&gt;
스몰토크 프로그램의 표준 출력 파일 처리에 부착된 FileStream을 응답하라; 주로 프로그램의 일반 출력에 사용된다.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FileStream: 기본===&lt;br /&gt;
&lt;br /&gt;
====bufferStart====&lt;br /&gt;
&lt;br /&gt;
Private - read 버퍼의 시작에 해당하는 파일의 시작부터 오프셋을 응답하라. &lt;br /&gt;
&lt;br /&gt;
====copyFrom: from to: to====&lt;br /&gt;
&lt;br /&gt;
두 개의 주어진 위치 사이의 파일 내용을 응답하라.&lt;br /&gt;
&lt;br /&gt;
====next====&lt;br /&gt;
&lt;br /&gt;
파일에서 다음(next) 바이트를 리턴하고, eof의 경우 nil을 리턴하라.&lt;br /&gt;
&lt;br /&gt;
====nextPut: aCharacter====&lt;br /&gt;
&lt;br /&gt;
파일 상에 aCharacter 를 보관하라. &lt;br /&gt;
&lt;br /&gt;
====peek====&lt;br /&gt;
&lt;br /&gt;
파일에서 다음(next) 바이트를 리턴하고, eof의 경우 nil을 리턴하라. 파일 포인터를 앞서진(advance) 말라.&lt;br /&gt;
&lt;br /&gt;
====position====&lt;br /&gt;
&lt;br /&gt;
파일의 시작에서부터 0에서 시작하는(zero-based) 위치를 응답하라. &lt;br /&gt;
&lt;br /&gt;
====position: n====&lt;br /&gt;
&lt;br /&gt;
파일 포인터를 0에서 시작하는(zero-based) 위치 n으로 설정하라.&lt;br /&gt;
&lt;br /&gt;
====size====&lt;br /&gt;
&lt;br /&gt;
현재 파일 크기를 바이트로 리턴하라.&lt;br /&gt;
&lt;br /&gt;
====truncate====&lt;br /&gt;
&lt;br /&gt;
현재 위치에서 파일을 절단하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FileStream: 버퍼링===&lt;br /&gt;
&lt;br /&gt;
====bufferSize====&lt;br /&gt;
&lt;br /&gt;
파일의 현재 버퍼를 응답하라. &lt;br /&gt;
&lt;br /&gt;
====bufferSize: bufSize====&lt;br /&gt;
&lt;br /&gt;
파일을 비우고(flush) 버퍼의 크기를 bufSize로 설정하라.&lt;br /&gt;
&lt;br /&gt;
====clean====&lt;br /&gt;
&lt;br /&gt;
파일 기술자의 상태를 객체의 상태와 동기화하라.&lt;br /&gt;
&lt;br /&gt;
====fill====&lt;br /&gt;
&lt;br /&gt;
Private - 입력 버퍼를 채워라.&lt;br /&gt;
&lt;br /&gt;
====flush====&lt;br /&gt;
&lt;br /&gt;
출력 버퍼를 비워라.&lt;br /&gt;
&lt;br /&gt;
====newBuffer====&lt;br /&gt;
&lt;br /&gt;
Private - 수신자의 버퍼로서 사용될 String을 응답하라.&lt;br /&gt;
&lt;br /&gt;
====next: n bufferAll: aCollection startingAt: pos====&lt;br /&gt;
&lt;br /&gt;
Private - 버퍼에 n개 문자를 위한 공간이 있다고 가정하고 버퍼 내에 pos번째부터 시작해 aCollection의 n개 문자를 보관한다.&lt;br /&gt;
&lt;br /&gt;
====nextAvailable: anInteger into: aCollection startingAt: pos====&lt;br /&gt;
&lt;br /&gt;
스트림으로부터 anInteger 바이트까지 읽고 aCollection에 보관하라. 읽힌 바이트 수를 리턴하라.&lt;br /&gt;
&lt;br /&gt;
====nextAvailable: anInteger putAllOn: aStream====&lt;br /&gt;
&lt;br /&gt;
스트림으로부터 anInteger 바이터를 aStream에 복사하라. 읽힌 바이트 수를 리턴하라.&lt;br /&gt;
&lt;br /&gt;
====pendingWrite====&lt;br /&gt;
&lt;br /&gt;
출력 버퍼가 가득 찼는지(full) 응답하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FileStream: 컴파일하기===&lt;br /&gt;
&lt;br /&gt;
====segmentFrom: startPos to: endPos====&lt;br /&gt;
&lt;br /&gt;
객체에게 #asString을 전송하면 수신자에게 &amp;#039;copyFrom: startPos to: endPos&amp;#039;를 전송한 것과 같은 결과를 생성하게 될 객체를 응답하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FileStream: 초기화-release===&lt;br /&gt;
&lt;br /&gt;
====initialize====&lt;br /&gt;
&lt;br /&gt;
수신자의 인스턴스 변수를 초기화하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FileStream: 상속된 메서드 오버라이드하기===&lt;br /&gt;
&lt;br /&gt;
====next: n putAll: aCollection startingAt: pos====&lt;br /&gt;
&lt;br /&gt;
첫 번째는 pos 위치부터 시작해 aCollection으로부터 n개 값을 적어라.&lt;br /&gt;
&lt;br /&gt;
====nextLine====&lt;br /&gt;
&lt;br /&gt;
다음 행부터 다음 새행 문자까지 포함하여 스트림이 접근하는 것과 같은 타입의 컬렉션을 응답하라. 새행 문자를 찾을 수 없는 경우 스트림의 나머지 내용을 모두 리턴하라.&lt;br /&gt;
&lt;br /&gt;
====nextPutAllOn: aStream====&lt;br /&gt;
&lt;br /&gt;
수신자의 모든 문자를 aStream에 넣어라.&lt;br /&gt;
&lt;br /&gt;
====upTo: aCharacter====&lt;br /&gt;
&lt;br /&gt;
aCharacter까지 데이터를 포함하여 스트림이 접근하는 것과 같은 타입의 컬렉션을 응답하라. 그러한 문자를 찾을 수 없는 경우 스트림의 나머지 내용을 모두 리턴하라.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FileStream: 검사하기===&lt;br /&gt;
&lt;br /&gt;
====atEnd====&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>