R6RS:翻訳:Standard Libraries:8.3 Simple I/O

R6RS:翻訳:Standard Libraries:8.3 Simple I/O

8.3 単純な入出力

本節では (rnrs io simple (6)) ライブラリについて述べる。このライブラリはポートに対してテキスト入出力をするのにより簡便なインタフェースを提供する。本ライブラリでは先の報告書 [8] の入出力手続きのほとんどが実装されている。

本ライブラリで作成されたポートは実装系依存のコード変換器に対応づけられる。

[procedure] (eof-object)

[procedure] (eof-object? obj)

(rnrs ports (6)) ライブラリの eof-object と eof-object? と同じである。

[procedure] (call-with-input-file filename proc)

[procedure] (call-with-output-file filename proc)

proc は引き数をひとつ取らなければならない。これらの手続きは filename という名前のファイルをファイルオプションを指定せずに入力用ないし出力用に開き、得られたポートを引き数として proc を呼び出す。 proc から返るとポートは自動的に閉じられ、 proc の返した値を返す。 proc から返らなかった場合には、ポートが決して入出力処理に使われないことを証明できるのでなければ、ポートは自動的には閉じられない。

[procedure] (input-port? obj)

[procedure] (output-port? obj)

(rnrs io ports (6)) ライブラリの input-port?、 output-port? 手続きと同じである。 These are the same as the input-port? and output-port? procedures in the (rnrs io ports (6)) library.

[procedure] (current-input-port)

[procedure] (current-output-port)

[procedure] (current-error-port)

(rnrs io ports (6)) ライブラリの (current-input-port)、 (current-input-port)、 (current-error-port) 手続きと同じである。

[procedure] (with-input-from-file filename thunk)

[procedure] (with-output-to-file filename thunk)

thunk は 0 個の引き数を取る手続きでなければならない。ファイルは入力ないし出力用にファイルオプションを指定せずに開かれ、 thunk が引き数なしで呼び出される。 thunk の動的存続期間の間、得られたポートが current-input-port や current-output-port 手続きの返すポートになる。動的存続期間が終了したときに以前の既定値に回復する。 thunk から返るとポートが自動的に閉じられ、 thunk の返した値が返る。 thunk から返ったあとに脱出手続きを使って thunk の中に戻った場合の振舞いは規定されていない。

[procedure] (open-input-file filename)

filename をファイルオプションを指定せずに入力用に開き、得られたポートを返す。

[procedure] (open-output-file filename)

filename をファイルオプションを指定せずに出力用に開き、得られたポートを返す。

[procedure] (close-input-port input-port)

[procedure] (close-output-port output-port)

それぞれ input-portoutput-port を閉じる。

[procedure] (read-char)

[procedure] (read-char textual-input-port)

textual-input-port から読み込みを行なう。このとき、 textual-input-port から文字が読み込み可能になるか、読み込み可能なデータが有効なエンコーディングの接頭辞でない場合や、ファイル終端に達するまで、必要に応じてブロックする。

次のファイル終端よりも前に完全な文字が読み込み可能になる場合、 read-char は文字を返し、入力ポートをその文字の後ろを指すように更新する。データを読み込む前にファイル終端に到達した場合、 read-char はファイル終端オブジェクトを返す。

textual-input-port が省略された場合には、既定値として current-input-port の返した値が使われる。

[procedure] (peek-char)

[procedure] (peek-char textual-input-port)

read-char と同じであるが、ポートからのデータを消費しない。

[procedure] (read)

[procedure] (read textual-input-port)

textual-input-port から外部表現を読み込みその表すところのデータを返す。 read 手続きは get-datum と同じように働く。R6RS:翻訳:Standard Libraries:8.2.9 Textual input参照。

textual-input-port が省略された場合には、既定値として current-input-port の返した値が使われる。

[procedure] (write-char char)

[procedure] (write-char char textual-output-port)

char の符号を textual-input-port に書き込み、未規定値を返す。 Writes an encoding of the character char to the textual-output-port, and returns unspecified values.

textual-output-port が省略された場合には、既定値として current-output-port の返した値が使われる。

[procedure] (newline)

[procedure] (newline textual-output-port)

write-cha を使って textual-output-port に #\linefeed を書き込むのと等価である。

textual-output-port が省略された場合には、既定値として current-output-port の返した値が使われる。

[procedure] (display obj)

[procedure] (display obj textual-output-port)

obj を表現するものを与えられた textual-output-port に書き込む。書き込まれた表現中の文字列は二重引用符で括られず、文字列内の文字はエスケープされない。出力表現には、文字は write の代わりに write-char を使って書き込まれたように現れる。 display 手続きは未規定値を返す。 textual-output-port は省略することができ、その場合には (current-output-port) の返した値がデフォルト値になる。

[procedure] (write obj)

[procedure] (write obj textual-output-port)

obj の外部表現を textual-output-port に書き込む。 write 手続きは put-datum と同じように動作する。R6RS:翻訳:Standard Libraries:8.2.12 Textual outputを参照。 Writes the external representation of obj to textual-output-port. The write procedure operates in the same way as put-datum; see section 8.2.12.

textual-output-port が省略された場合には、既定値として current-output-port の返した値が使われる。


Last modified : 2008/04/15 05:19:00 UTC