私は、その引数の1つをスロットと文字列で作られた共通のlispで扱いたいと思っています。ここにプロトタイプがあります:スロットと文字列のリストからの値を扱う
(defclass time-info()
((name :initarg name)
(calls :initarg calls)
(second :initarg second)
(consing :initarg consing)
(gc-run-time :initarg gc-run-time)))
(defun print-table (output arg-list time-info-list)())
考え方は、その構造を定義するarg-listに基づいてテーブルを出力することです。
(print-table *trace-output*
'("|" name "||" calls "|" second "\")
my-time-info-list)
これはトレース出力でasciiで表を印刷します。問題は、明示的にリストの要素をマクロのさまざまな部分で使用する方法をわかりません。
私はこれをどうやって行うのか考えていませんが、私はそれができると確信しています。たぶん、あなたは私を助けることができます:)
なぜそれがマクロではなく機能すべきですか?配列のASCII表現ですか?どちらの配列ですか? –
':initarg'は通常はキーワードであり、あなたのスロットにアクセサまたはリーダーを定義する必要があります。 – Svante