在试图使用vijual的draw-tree函数时,我遇到了一些问题。首先,我不确定我是否使用了正确的命名空间(:require vijual :reload)
,因为我无法绘制任何树。我也试过(:require vijual.graphical)
但是没有认出来。这导致draw-tree
无法被识别,即CompilerException无法解析符号。
树的节点应该对应于n元组,并且在3元组以下的情况下。输入看起来像
(def foo (draw-tree [[:vec (9/2 6 13/2) [[[:vec (1 2 3)] [:vec (2 3 4)]] [:vec (3 4 5)]] [:vec (7 9 9)]]]))
对应树
{:vec (9/2 6 13/2)
:right {:vec [7 9 9]},
:left {:right {:vec [3 4 5]},
:left {:vec [1 2 3]},
:vec (2 3 4)}}
我一直使用的依赖是[org.clojars.overtone/vijual "0.2.1"]
。
答案 0 :(得分:1)
如果你是一个代表,这应该有效:
(use 'vijual)
(def foo (draw-tree ....
use将另一个名称空间符号引用到当前名称空间中,这样您就可以在不限定它们的情况下调用它们。 require需要加载命名空间,但需要用它来引用符号:
(require 'vijual)
(def foo (vijual/draw-tree ...
当我这样做时,调用了该函数,但仍然有错误。特别是,您有(9/2 6 13/2)
等 - 这将尝试作为函数调用9/2。我并不完全清楚你正在拍摄什么(尤其是地图),但这确实是一个开始:
(def foo (draw-tree [[:vec [9/2] [6] [13/2]] ]))