(rontolisp) docs
← 関数

copy-pprint-dispatch set-pprint-dispatch pprint-dispatch

(copy-pprint-dispatch &optional table) -- (set-pprint-dispatch type-specifier function &optional priority table) -- (pprint-dispatch object &optional table)

プリティプリント・ディスパッチテーブルです。ある型の値をどう印字するかを表す (type-specifier function priority) の集まりで、copy-pprint-dispatch*print-pprint-dispatch* の新しい複製(引数に nil を渡したときは空の初期テーブルの複製)を返し、set-pprint-dispatch はエントリを追加(functionnil なら削除)し、pprint-dispatch はオブジェクトに一致する最も優先度の高いエントリ関数と、見つかったかどうかを表す第 2 の値を返します。エントリ関数は (funcall function stream object) として呼ばれます。

通常の印字操作(printprincprin1~A~S)はこのテーブルを参照しません。エントリが効くのは、プログラム自身がエントリ関数を呼ぶ箇所です。