0
我對更新地圖中的值所需的語法感到困惑,其中所述值是地圖的矢量。Clojure,更新地圖中的嵌套內容
拿到一張地圖:
{:data-extracts [
{:name "some name"
:data "some data"
}]}
如何更新的值的數據,我知道你可以使用assoc
或conj
修改地圖(以及返回新地圖),但我不能確定這是如何工作當嵌套元素存在時。
期望的結果:
{:data-extracts [
{:name "some name"
:data "new data"
}]}
有沒有辦法做到像下面這樣?
(update :data-extracts :data "new data")
這是如何實現的?
我試過如下:
(assoc opts :data-extracts [:name "Secret Escapes"
:data "new data"]))
但如我所料不工作。
如果我在上面像'(更新我的地圖指定我的地圖[:數據提取0:數據]「新數據「)是告訴我字符串不能被轉換爲函數。猜測是因爲「新數據」不是字符串 –
@ChrisEdwards查看最新的編輯。在發佈後不久我意識到,抹去了答案並對其進行了編輯。對困惑感到抱歉。 –
我確實遇到過關聯,但無法弄清我的用例的語法。謝謝。 –