clos

    2

    2答えて

    値をスロットに保存する方法と、スロットを読み取ったときに返される値を制御したいと考えています。ここに私のクラス定義は次のとおりです。 (defclass object() ((name :accessor name-access :initform 'noname :initarg :name) (value :accessor value-access

    8

    1答えて

    これは私には何度も起こります。私はクラスを定義し、それがfuncallableか、Gtkウィジェットクラスであることを忘れてしまい、メタクラスを記述する必要があります。しかし、それが定義されると、SBCLは(たとえこのクラスのインスタンスがなくても)私にメタクラスを変更させません。例えば、 (defclass foo() ((slot-a))) を評価して、メタクラスを追加し、再評価

    5

    1答えて

    CL-USER> (defclass a()()) CL-USER> (defclass b (a)()) CL-USER> (make-instance 'b) #<STANDARD-CLASS B> インスタンスbで呼び出すことができる述語関数は、aから継承された場合にTを返します。静脈では: CL-USER> (instanceof 'a *) T

    1

    1答えて

    任意のオブジェクトを頂点として格納するグラフデータ構造を実装しています。すべての頂点がキーを持つようにオブジェクトのキーを取得するようなインターフェースを定義したいと思います。私の考えでは、これはjavaのような言語でインターフェースを使う場所のように聞こえます。 interface Vertex { String key (Vertex v); // etc... }

    3

    2答えて

    elt、nth、mapcarなどの名前をプロトタイプ作成の新しいデータ構造に使用したいと思いますが、これらの名前は通常の関数を指定するため、ジェネリック関数として再定義される。 おそらく、これらの名前を再定義するのは悪いフォームですか? defgenericにプログラムエラーを生成しないように指示し、関数バインディングを置き換える方法はありますか? これらは汎用関数ではない、または歴史的な理由があ

    2

    2答えて

    私は多くの場合、別のクラスのリストで構成されるクラスを持っています。たとえば、ベクトルで構成されたベクトルリストクラスを作成します。長い文を書くのを避けるために、私は埋め込みクラスにアクセスするためのメソッドを書いています。ただし、このメソッドはゲッターとしてのみ機能します。私はそれをスロットの値を設定するために使用することはできません。クラススロットの値を設定するメソッドを使用する方法はあります

    5

    2答えて

    処理する必要があるメッセージを表す一連のクラスがあります。しかし、ハンドラのためのオープンスポットの量は限られています。したがって、メッセージオブジェクトを扱うハンドラの「ディスパッチ」は、まず空きがあるかどうかをチェックする必要があります。 - >ディスパッチがある場合。 が存在しない場合 - >派遣し、私はそれをすることを強制する方法の組み合わせ機能を使用するのがベストだろう考え出しどの発送方

    0

    3答えて

    私は、1つの変数を格納し、その変数に特定の関数を持たせる方法を知りたいと思います。私はクラスを作成するための選択肢があるのだろうかと思っています。 具体的には、基本時間から経過した秒数を表す時間値を格納するアプリケーションを作成しています(たとえば、Jan 1、2000、00:00:00)。私は秒から特定の時刻または日付に、または日付を特定の秒に変換するなど、この値の操作を実行したいと思います。

    1

    1答えて

    CLOSオブジェクト(標準クラス)を比較するためのCommon Lispに組み込みの等価演算子がないのはなぜかと思います。例えば、 "equalp"は配列、構造体、ハッシュテーブルに適用できますが、オブジェクトには適用できません。 私は、オブジェクトを下降させ、スロット値がequalpであるかどうかをプログラマが書き込むことができるかどうかを確認しますが、標準の一部ではない理由があるかどうかは疑問