clos

    1

    2答えて

    それぞれにクラスが定義された2つのパッケージがあります。 2番目のクラスは最初のクラスを継承しますが、同じ名前のスロットを持ちます。実際にスロットを無効にする意図があります。 (defpackage :foo (:use :cl) (:export foo)) (in-package :foo) (defclass foo() ((s))) (defpackage

    2

    2答えて

    私はクラスメッセージのインスタンスを持っています。私は "msg"を呼び出します。私はクラス "my-message"を定義し、インスタンス "msg"をそのクラスにすることを望みます。 それは比較的簡単なはずですが、私はそれをどうやって行うのか分かりません。クラスを変更すると私には理解できないエラーが出る。 (defclass my-message (message) ((accoun

    0

    2答えて

    2つのパッケージがあり、それぞれがスロット/ジェネリックメソッドのクラスとエクスポートシンボルを定義し、の同名の名前とします。 (defpackage pkg1 (:export _class1 _slot _reader _method)) (in-package pkg1) (defclass _class1() ((_slot :initform "SLOT111" :initarg :

    4

    2答えて

    実行時にクラスを作成する必要があります。メタクラスプロトコルが完全に共通Lispで標準化されていないことを知って、The Common Lisp Object System MetaObject Protocolを閲覧した後、私は、クラスを作成し、それをインスタンス化し、その数をインスタンスのスロット値を設定するために、次のコードを試してみました: (defparameter *my-class*

    0

    1答えて

    がクラスaccount考えてみては機能しません。このクラスで (defclass account() ((name :initarg :name :reader name) (balance :initarg :balance :initform 0.00 :accessor balance) (interest-rate :allocation :class :in

    0

    1答えて

    クラスのすべてのメソッド名をLISPで取得できますか? 実は、私は自分の名前で セット - を持っている方法を、必要とします。 (defun find-all-methods (class prefix) (loop for method in (clos:specializer-direct-methods class) for gf = (method-generic

    2

    1答えて

    共通のlispでバイナリ検索ツリーを構築しようとしています。私はこのようなCLOSを使用してバイナリ検索クラスを定義しています (defclass bst() ((root :type node :accessor tree-root :initform nil :initarg root))) ツリーがキーとゼロが含まれている場合、私は木のオブジ