0
Clojure和Ubergraph圖書館的新手,請原諒我,如果這是非常明顯的。嘗試使用Ubergraph加邊功能將邊添加到現有圖。下面的代碼按預期工作:爲什麼我無法將邊緣添加到現有的Ubergraph圖形中?
(def graph1 (uber/graph [:a :b]))
(uber/pprint (uber/add-edges graph1 [:a :c]))
...產生如下:
3 Nodes:
:a
:b
:c
2 Edges:
:a <-> :b
:a <-> :c
然而,這樣的:
(def graph1 (uber/graph [:a :b]))
(uber/add-edges graph1 [:a :c])
(uber/pprint graph1)
生產:
2 Nodes:
:a
:b
1 Edges:
:a <-> :b
第二邊緣不會被添加,雖然文件認爲這是正確的。我究竟做錯了什麼?
謝謝,我懷疑可能是這種情況。我想迭代地將節點和邊「追加」到單個圖中。我如何做到這一點,而不會結束一系列重複的圖形?我能以某種方式用遞歸函數來做到這一點嗎? – aethernaut
它確實取決於何時添加節點和邊緣。但是,通常你會使用' - >'迭代地連接,並使用'let'或者'def'賦值給另一個var。你可以創建一個'atom'和'swap!'它的值。 – guijob
太好了,謝謝你的帶領! – aethernaut