[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11.10 file.filter - ファイルのフィルタ

Module: file.filter

このモジュールは、フィルター型のコマンド、 すなわち入力を読み込み、処理をして結果を書き出すような場合に 共通するパターンに使えるユーティリティ手続きを提供します。 共通するパターンとは:

Function: file-filter proc &keyword input output temporary-file keep-output?

二つの引数、入力ポートと出力ポートを引数としてprocを呼び出し、 その結果を返します。 入力ポートと出力ポートはキーワード引数により決定されます。

input

この引数は入力ポートかファイル名を示す文字列でなければなりません。 入力ポートの場合、それはそのままprocに渡されます。 文字列が渡された場合は、そのファイル名を持つファイルを入力用にオープンし、 そのポートがprocに渡され、またこのポートはprocが戻った時に閉じられます。 この引数が省略された場合は、現在の入力ポートが渡されます。

output

この引数は出力ポートかファイル名を示す文字列でなければなりません。 出力ポートの場合、それはそのままprocに渡されます。 文字列が渡された場合は、そのファイル名を持つファイルを出力用にオープンし、 そのポートがprocに渡されます (但し、temporary-file 引数が渡された時はそれに指定されるファイルが一時ファイルとしてオープンされます)。 オープンされたポートはprocが戻った時に閉じられます。 この引数が省略された場合は、現在の出力ポートが渡されます。

temporary-file

文字列でファイル名が渡された場合、処理の間の出力先としてoutputに指定された ファイルのかわりにそのファイルがオープンされます。 procにはその一時ファイルへの出力ポートが渡されます。 procが正常に返って来た時点で、一時ファイルはoutputに指定された ファイルへとリネームされます。

もし一時ファイル名が"/""./""../"以外の 文字で始まっていた場合は、outputに与えられたファイル名のディレクトリが 一時ファイルの前に追加されます。さらに、ユニークなサフィックスが一時ファイルの後に 追加されます(一時ファイルはsys-mkstempを使ってオープンされます)。

この引数は、outputにファイル名が与えられなかった場合は無視されます。

keep-output?

真の値が与えられた場合、procがエラーになった場合でも出力ファイルを削除しません。 デフォルトでは、出力ファイル(もしくはtemporary-fileが与えられた場合は そのファイル)はエラーの場合には削除されます。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated by Shiro Kawai on November, 22 2009 using texi2html 1.78.