在一个Luminus应用程序中,这是一个产生错误的动作的一部分:
some-var (if (rem total-records page-size)
(quot total-records page-size)
(+ 1 (quot total-records page-size)))错误是clojure.lang.LazySeq cannot be cast to java.lang.Number。而这并不是:
some-var 123如何修复这个错误?
发布于 2016-05-26 02:16:59
看起来您的变量total-pages和/或page-size中的一个不是数字,而是一个序列,而rem和quot函数要求其所有参数都是数字。尝试将其打印到控制台以检查是哪一个。
在您的if表达式中还有另一个问题:您希望使用数值来测试真实性。在Clojure中,任何数值(包括0)都是真的(严格地说,只有nil和false值被视为假),所以您需要将rem的结果与零进行比较:
(if (zero? (rem a b))
:truthy
:falsey)https://stackoverflow.com/questions/37444583
复制相似问题