【发布时间】:2015-04-11 03:10:21
【问题描述】:
我正在尝试为此数据结构定义类型定义:
[[:id :int :null false :pk true :autoinc true]
[:fooname [:varchar 40] :null false]
[:age :int :null false]]
然后我有一个过滤器函数,它删除每个包含:id 作为第一个元素的向量,如下所示:
(defn filter-id-columns [l]
(remove #(= :id (first %)) l))
但是,无论我尝试什么,我总是会收到这样的类型错误:
Type Error (leiningen/code_generator.clj:23:19) Polymorphic function first could not be applied to arguments:
Polymorphic Variables:
x
Domains:
(t/HSequential [x t/Any *])
(t/Option (t/EmptySeqable x))
(t/NonEmptySeqable x)
(t/Option (clojure.lang.Seqable x))
Arguments:
t/Any
Ranges:
x :object {:path [(Nth 0)], :id 0}
nil
x
(t/Option x)
in: (first p1__27917#)
in: (first p1__27917#)
我知道我为输入参数提供了错误的类型,但是我找不到正确的东西。
关于如何解决这个问题的任何想法?
【问题讨论】:
标签: clojure nested clojure-core.typed