【发布时间】:2016-01-28 12:44:46
【问题描述】:
我目前正在尝试从哈希映射列表中获取一个值。
(def cards
(hash-map
:card1 {:name "Wisp" :damage 1 :health 1 :cost 0}
:card2 {:name "Spider Tank" :damage 3 :health 4 :cost 3}
)
我的“卡片”有一个哈希映射。
(def deck1
(list (get cards :card1) (get cards :card2) (get cards :card1))
还有一个包含这些卡片列表的套牌。 (我已经缩短了两个结构)
我正在尝试做的是通过传递卡片名称来搜索此套牌结构以查找卡片。此卡作为 var 保存并传递到其他地方。然后,我将在没有这张卡的情况下重建列表。
所以,我正在尝试从套牌中的任何位置抽一张特定的牌。
目前我只是想拿到卡,但我在代码上遇到了死胡同。
(defn playCard [card]
(let [c first deck1 (get-in deck1 [card :name]))]
(println "LOOK AT ME" c)))
任何帮助将不胜感激。
【问题讨论】:
-
您说您要在
deck1中搜索具有特定:name的卡?那为什么playCard输入的是卡片而不是卡片名称呢?假设您要求的是如何实现playCard,您能否更具体地记录playCard应该做什么? -
看看 Spectre - github.com/nathanmarz/specter