既知の順序で、他の場所から取得した一連の値があります。また、1つの個別の値があります。これらの両方を構造体に入れたいと思います。つまり
(defstruct location :name :id :type :visited)
今私はリストを持っています
(list "Name" "Id" "Type")
これは正規表現の結果です。
次に、ブール値を:visited;に入れたいと思います。次のような構造体を生成します。
{:name "Name" :id "Id" :type "Type" :visited true}
どうすればよいですか?applyとstruct-mapのさまざまな組み合わせを試しました。私は次のようになりました:
(apply struct-map location (zipmap [:visited :name :id :type] (cons true (rest match))))
しかし、それはそれを完全に回避するための間違った方法かもしれません。