clos

    1

    2答えて

    一般的なケースでは、スーパークラスを介して行う必要があるのであまり意味がありませんが、特定のパラメータに "nil"を許可し、別のメソッドを定義する必要はありません。 私は、これはプレーンCLOSではサポートされていません (defmethod my-method ((obj1 my-class1) (obj2 (or my-class2 null))) method-body )

    8

    3答えて

    私は様々な要素に対してHTMLを発行するいくつかのメソッドを書いています。各メソッドは同じ出力を持ちますが、必ずしも同じ入力が必要なわけではありません。 (各プレイヤーは唯一、自分の作品を見ているので)その発送は実際にある(プレーヤーごとに変更する必要はありません、ボード・スペースをエコー (defmethod echo ((board game-board) (p player)) ...)

    1

    1答えて

    クラスが定義されているパッケージを調べたいとします。 say(defclass x()())はp1で定義されています。 1つの方法は、パッケージを(symbol-package 'x)経由で入手することです。この解決策の問題は、xが別のパッケージp2にエクスポートされることです。その他の提案はありますか?

    3

    1答えて

    を1つの以上のスーパークラスを追加することが可能であることは、動的に既存のクラスに1以上のスーパークラス を追加することが可能です。 更新: Iは同じ引数を使用して、方法/機能をいくつかの動作 関連あろうマクロの定義defassoc種類にたかっ 例えばここで (symbol-macrolet ((name1 (name ((corresponding-task task g) s)))

    3

    2答えて

    どのようにして、特定のクラスのサブクラスを指定するシンボルを取るジェネリック関数を特化できますか? 例: (defclass a()()) (defclass b (a)()) (defclass c (b)()) (defclass d()()) (defgeneric fun (param)) (defmethod fun ((param (<subclass of> a)))

    2

    1答えて

    初期化されていない変数を関数の引数として使用できますか?割り当てのために、私は、意味ネットワークシステムを書くためにCLOSを使用する必要があり、私の教授は、私たちの出力をテストするためのテスト機能が含まれ、そのうちの一つを指定:引数を渡す意味 (print (def-concept Human))、 ヒューマンファンクションdefコンセプト。このテスト機能を実行しているとき、私は離れて、エラーか

    6

    2答えて

    私は、浅い方法でCLOSオブジェクトをクローンする方法を探しています。そのため、作成されたオブジェクトは、各スロットに同じ値を持つ同じタイプのものになりますが、新しいインスタンスになります。私が見つけた最も近いものは、構造のためにこれを行う標準関数のコピー構造です。

    1

    1答えて

    クラスanimal、サブクラスがhorse、duck、およびrabbitであるとします。 make-instanceを使用して、クラスanimalのいくつかのオブジェクトを作成するとします。後ほど、これらのオブジェクトのそれぞれについて、実際にはhorse、またはduck、またはrabbitであることがわかりました。これらのオブジェクトを再入力する方法はありますか?適切なサブタイプの新しいオブジェ

    2

    2答えて

    このコードは、警告メッセージを除き、必要に応じて機能します。 GNU Common Lispでは、他の可能な警告メッセージを抑制することなく、そのメッセージを抑制するにはどうすればいいですか? Vatineの種類の返信に応じて 1 (defgeneric zang (x y) 2 (:documentation "they want you to put documentation here")