Clojure:使用 vector 和 ref
Clojure: Working with vector and ref
请使用 ref 和 vector 的人帮助我?
这个vector在每一行都有一个(ref {:desc "text" :amount double})
:
[#<Ref@1cda773e: {:desc "DESC1", :amount 100}
#<Ref@468dd81: {:desc "DESC2", :amount 200}
#<Ref@1e95e716: {:desc "DESC3",:amount -50}>]
是否可以将上述所有金额放入一个新的向量中,如下所示:[100, 200, -50]
.
使用 refs 非常困难,我不知道如何访问它们。
这是一种方法:
user=> (def data [{:desc "DESC1", :amount 100} {:desc "DESC2", :amount 200} {:desc "DESC3",:amount -50}])
#'user/data
user=> (def my-refs (map #(ref %) data))
#'user/my-refs
user=> (vec (map #(-> % deref :amount) my-refs))
[100 200 -50]
请使用 ref 和 vector 的人帮助我?
这个vector在每一行都有一个(ref {:desc "text" :amount double})
:
[#<Ref@1cda773e: {:desc "DESC1", :amount 100}
#<Ref@468dd81: {:desc "DESC2", :amount 200}
#<Ref@1e95e716: {:desc "DESC3",:amount -50}>]
是否可以将上述所有金额放入一个新的向量中,如下所示:[100, 200, -50]
.
使用 refs 非常困难,我不知道如何访问它们。
这是一种方法:
user=> (def data [{:desc "DESC1", :amount 100} {:desc "DESC2", :amount 200} {:desc "DESC3",:amount -50}])
#'user/data
user=> (def my-refs (map #(ref %) data))
#'user/my-refs
user=> (vec (map #(-> % deref :amount) my-refs))
[100 200 -50]