0

Common Lisp の内部では、次のように定義された変数 'name' があります。

(setq name ':length-1)
 >> :length-1

今、この変数を使用して plist を作成したいと思います。次のようにします。

(:length-1 10)

別の定義済み変数を使用して plist のキーを定義する方法はありますか?

「フォーマット」を試しましたが、記号ではなく文字列が得られます。

(list (format nil ":~a" name) 10)

しかし、これは私に与えます:

(":lifting-surface" 10)
4

2 に答える 2

1

文字列からキーワード シンボルを作成しようとしているようです。次のような alexandria ライブラリの make-keyword 関数をお勧めします。

(defun make-keyword (name)
  "Interns the string designated by NAME in the KEYWORD package."
  (intern (string name) :keyword))

編集:ああ、そうではないことがわかりましたが、とにかくこれは役立つかもしれません.

于 2013-06-03T21:17:00.590 に答える