Standard-Generic-Function PRINT-OBJECT

UP


Standard-Generic-Function PRINT-OBJECT

Standard Generic Function PRINT-OBJECT

構文

print-object object stream => object

メソッド宣言

print-object ( object standard-object ) stream
print-object ( object structure-object ) stream

引数と戻り値

object - オブジェクト
stream - ストリーム

定義

ジェネリック関数print-objectは、 objectの印刷表現をstreamへ書き込みます。 この関数print-objectは、 Lispのプリンターによって呼び出されるものであり、 ユーザーが呼び出すべきではありません。

各実装は、クラスstandard-objectとクラスstructure-objectの それぞれのクラスを提供するよう要求されます。 さらに各実装は、常に適切なメソッドが存在することが保証されるよう、 その他の十分なクラスを提供しなければなりません。 その他のクラスのメソッドを追加するかどうかは実装の自由です。 ユーザーは、自身のクラスに対して その実装依存のメソッドを継承したくないときは、 print-objectのメソッドを書くことができます。

structure-objectのメソッドは デフォルトでは#S表記によってオブジェクトを印刷します。 22.1.3.2. 文字の印字をご確認ください。

print-objectのメソッドは、 下記に示すプリンター制御の変数の意味の一部を実装する責任があります。

もしこれらのルールに従わなかったときの結果は未定義です。

一般的にプリンターとprint-objectのメソッドは、 構造を通して再帰的に操作されるため プリンター制御変数を再束縛するべきではありません。

いくつかの実装では、 print-objectメソッドに渡される引数のstreamが 元のストリームではななく、 プリンターの一部として実装された中間のストリームになるため、 したがってメソッドはこのストリームの 同一性に依存するべきではありません。

例文

なし。

影響

なし。

例外

なし。

参考

pprint-fill, pprint-logical-block, pprint-pop, write, *print-readably*, *print-escape*, *print-pretty*, *print-length*, 22.1.3. 標準のPrint-Objectメソッド, 22.1.3.12. 構造体の印字, 22.2.1.4. プリティプリンターのディスパッチテーブル, 22.2.2. プリティプリンターの使用例

備考

なし。


TOP, Github