6.64. kink/io/OUTPUT

output のコンパニオンモジュール

6.64.1. output 型

outputは、バイト列の書き込みポートの抽象型である。output値はここで挙げるメソッドを実装する必要がある。

output は下層の書き込み先へのシーケンシャルな前方アクセスを提供する。

6.64.1.1. Output.write(Bin ...[$config={}])

write は Bin のバイト列を書き込む。

コンフィグメソッド:

• C.on_success($success): default = {}

• C.on_error($error): default = 例外を投げる関数

すべてのバイトがIOエラーなしに書き込まれた場合、 write は$successを引数なしで末尾呼び出しする。

IOエラーが起きた場合、 write は$errorを、 exception を引数として末尾呼び出しする。

事前条件

Bin は bin 型でなければならない。

$success は引数を取らない関数でなければならない。

$error は exception を引数に取る関数でなければならない。

例

例: IOエラー

6.64.1.2. Output.flush(...[$config={}])

flush は下層の書き込み先にバッファされたバイト列を書き込む。

コンフィグメソッド:

• C.on_success($success): default = {}

• C.on_error($error): default = 例外を投げる関数

IOエラーなしにバッファされたバイト列が書き込まれた場合、 flush は$successを引数なしで末尾呼び出しする。

IOエラーが発生した場合、flushは$errorを、exceptionを引数として末尾呼び出しする。

事前条件

$success は引数を取らない関数でなければならない。

$error は exception を引数に取る関数でなければならない。

6.64.1.3. Output.close(...[$config={}])

closeはバッファをフラッシュして、書き込み先のリソースを閉じる。

コンフィグメソッド:

• C.on_success($success): default = {}

• C.on_error($error): default = 例外を投げる関数

IOエラーなしにバッファがフラッシュされ、リソースが閉じられた場合、closeは$successを引数なしで末尾呼び出しする。

IOエラーが起きた場合、closeはexceptionを引数として$errorを末尾呼び出しする。

事前条件

$success は引数を取らない関数でなければならない。

$error は exception を引数に取る関数でなければならない。

6.64.2. OUTPUT.is?(Val)

is?はValがoutputかどうかを戻す。