1
でプロパティ名を展開しますが、このプロパティリストを考えてみましょう:Lispのマクロ
(defvar *some-variable* (list :foo "fooval" :bar "barval"))
この単純なコール:
(getf *some-variable* :foo)
利回り予想通り"fooval"
。 FOO
で
(my-macro 'foo)
結果:このようにそれを呼び出して、残念ながら
(defmacro my-macro (property-name)
`(getf *some-variable* :,property-name))
:私は、私が取得する任意のプロパティの名前を渡すことができることを除いて同じことを行うことになっているマクロを定義します。どうして?
使用マクロ展開とみなされているという特徴を失います。 –
@RainerJoswig:私はすでにそれを試みましたが、私はまだ無知です。 –
そして、何が戻ったのですか? –