For Development HEAD DRAFTSearch (procedure/syntax/module):

11.44 srfi.192 - ポート位置

Module: srfi.192

このsrfiはポートの現在の位置を取得したり設定したりする手続きを提供します。

この機能はGaucheのコアでサポートされており、以下の手続きは ポート共通の操作で説明されています:

port-position
port-has-port-position?
set-port-position!
port-has-set-port-position?
Function: make-i/o-invalid-position-error pos

[SRFI-192]{srfi.192} これは、set-port-position!が不正な位置情報を受け取った時に 投げるべきコンディションを作成するポータブルな手続きです。 pos引数は問題となった位置情報でう。

Gaucheでは、その場合のコンディションは<port-error>のサブクラスである <io-invalid-position-error>のインスタンスで表されています。

カスタムポート(srfi.181 - カスタムポート参照)のset-position!コールバック手続き の中で、この手続きで作ったコンディションを投げた場合、 Gaucheはその例外をインターセプトして、ポートの情報をコンディションに付け加えます。

Function: i/o-invalid-position-error? obj

[SRFI-192]{srfi.192} objがi/o-invalid-position-errorか、 それを含む複合コンディションであれば#tを、そうでなければ#fを返します。

Gaucheでは、これは (condition-has-type? obj <io-invalid-position-error>) と同じことです。



For Development HEAD DRAFTSearch (procedure/syntax/module):
DRAFT