clos

    2

    2答えて

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

    2

    1答えて

    保存ファイルに任意のCommon Lispの構造オブジェクトをオブジェクト(読み取り可能)CLOSのオブジェクトインスタンスの (defun save-structure-object (object filename) (with-open-file (stream filename :direction :output :if-exists :superse

    2

    2答えて

    私はCLOSのジェネリック関数について学んでいます。 私は教科書やオンラインで見つけたタイプの例のため、非常に混乱しています。例では、複数のディスパッチがあるという事実を常に使用しています。引数の型に基づいて、異なる計算が実行されます。しかし、なぜ議論自体は例で使われていないのですか? 例のコードは、上記の例でWikipedia ; declare the common argument stru

    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*

    2

    1答えて

    Common Lispの汎用関数からメソッドのリストを抽出する方法はありますか?たとえば :これはCのAPIを介して行うことができますので、もし (defmethod say ((self string)) ; method-0 (format t "Got string: ~a~%" self)) (defmethod say ((self integer)) ; method-1

    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))) ツリーがキーとゼロが含まれている場合、私は木のオブジ

    1

    2答えて

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