3
我試圖通過一個HashMap音譯列表,像這樣:單字符字符串矢量映射到PersistentMap
(map {"a" 0 "b" 1 "c" 2} ["a","c","b","a"])
,我要吐了出來:
[0,2,1,0]
我該怎麼做?
更正:上述作品,但但這並不:
(map {"a" 0 "b" 1 "c" 2} (vec "acba"))
請告訴我這裏不同?
我試圖通過一個HashMap音譯列表,像這樣:單字符字符串矢量映射到PersistentMap
(map {"a" 0 "b" 1 "c" 2} ["a","c","b","a"])
,我要吐了出來:
[0,2,1,0]
我該怎麼做?
更正:上述作品,但但這並不:
(map {"a" 0 "b" 1 "c" 2} (vec "acba"))
請告訴我這裏不同?
使用mapv
代替
user=> (map {"a" 0 "b" 1 "c" 2} ["a" "c" "b" "a"])
(0 2 1 0)
user=> (mapv {"a" 0 "b" 1 "c" 2} ["a" "c" "b" "a"])
[0 2 1 0]
另外:
user=> (map {"a" 0 "b" 1 "c" 2} (vec "acba"))
(nil nil nil nil)
user=> (vec "acba")
[\a \c \b \a]
user=> (= \a "a")
false
這工作(但是迂迴):
user=> (mapv {"a" 0 "b" 1 "c" 2} (map str (vec "acba")))
(0 2 1 0)
'(mapv { 「」 0 「B」 1「在最後一個例子中,c「2}(map str」acba「))就足夠了 - 你只需要一串字符串,而不是字符。 – ToBeReplaced 2013-05-06 19:46:07
只是爲了好玩:如果你在使用關鍵字:'((apply juxt [:a:c:b:a]){:a 0:b 1:c 2})' – Kyle 2013-05-06 19:48:24
@ToBeReplaced同意 - 這發生在我身上以及。我只是在處理提問者的例子。 – noahlz 2013-05-06 19:48:25