如何将矢量从较大的值排序到较小的值,因为这不起作用
(sort > ([3 1 2 4]))
Run Code Online (Sandbox Code Playgroud)
但是,使用>地图值它是有效的.
(sort > (vals {:foo 5, :bar 2, :baz 10}))
; => (10 5 2)
Run Code Online (Sandbox Code Playgroud)
请注意,括号在clojure中总是很重要,并且它们永远不会"只对"任意表达式进行分组.([3 1 2 4])将vector作为函数调用,不带任何参数.
你要 (sort > [3 1 2 4])
那是因为你没有将向量传递给sort方法:)
正确的行是:
(sort > [3 1 2 4])
Run Code Online (Sandbox Code Playgroud)
([3 1 2 4])应该给你一个,ArityException因为你试图使用矢量作为一个没有任何参数的函数.