R6RS:翻訳:Standard Libraries:8.2.2 File options

R6RS:翻訳:Standard Libraries:8.2.2 File options

8.2.2 ファイルオプション

ファイルを開くとき、本ライブラリの様々な手続きはファイルオプションオブジェクトを受け取る。これはファイルをどのように開くかを指定したフラグをカプセル化したものである。

[syntax] (file-options <file-options symbol> ...)

各 <file-options symbol> はシンボルでなければならない。 file-options 構文は指定されたオプションをカプセル化したファイルオプションオブジェクトを返す。

出力用にファイルを開く操作に渡した場合、 (file-options) の返したファイルオプションオブジェクトはファイルが存在しなかった場合にそれを作成するのか、存在した場合には &i/o-file-already-exists コンディション型の例外を発生させるのかを指定する。デフォルトの振舞いを変更するのに下記の標準オプションを使うことができる。

no-create

ファイルが存在しなかった場合、それを作成しない。代わりに &i/o-file-does-not-exist コンディション型の例外が発生する。ファイルが存在した場合には &i/o-file-already-exists コンディション型の例外は発生せず、ファイルの長さは 0 に切り詰められる。

no-fail

ファイルが既に存在した場合でも &i/o-file-already-exists コンディション型の例外は発生しない。これは no-create が指定されていなかった場合でも、である。このとき、ファイルは長さ 0 に切り詰められる。

no-truncate

ファイルが既に存在し、 no-create や no-fail を指定することにより &i/o-file-does-not-exist コンディション型の例外が発生しないとき、ファイルを切り詰めず、ポートの現在位置をファイルの先頭に設定する。

これらのオプションはファイルが入力用に開かれた場合には何の効力も持たない。上に挙げたシンボル以外を <file-options symbol> に使うこともできる。その場合、それらは実装系依存の意味を持つことになる。

: <file-options symbol> は名前だけに意味がある。


Last modified : 2008/03/14 00:43:58 UTC