评论作者:kworam_
我为#1编写了测试,并使用criterium获取了一些#2的'之前'时间。
我已经被困在这项工作上数小时,我需要一些帮助。我在core.clj中对'partition'和'partition-all'进行了更改,然后执行了'mvn package'来构建jar。 我通过执行'target>java -cp clojure-1.7.0-master-SNAPSHOT.jar clojure.main'来交互式测试我修复版本的clojure。 (source ...)函数显示,对于'partition'和'partition-all'的源代码更改都在原位。 我的'partition-all'更改看起来似乎是正确的,但我的'partition'更改不是。据我所知,它们都应该抛出一个断言错误,错误输入参数是我提供的。
任何帮助都将非常感激。
user=> (source partition)
(defn partition
返回由n个元素组成且每个元素偏移step的惰性列表序列。
如果未提供step,则默认为n,即分区不重叠。
如果提供了填充集合,则使用其元素填充至最后一个分区,使分区元素数量达到n个。
如果填充元素不足,则返回一个小于n个元素的分区。
{:added "1.0"}
:static true}
([n coll]
{:pre [(pos? n)]}
(partition n n coll))
([n step coll]
{:pre [(pos? n) (pos? step)]}
(internal-partition n step coll))
([n step pad coll]
(internal-partition n step pad coll)))
(internal-partition n step coll))
nil
user=> (partition -1 [1 2 3])
user=> (source partition-all)
()
(defn partition-all
"返回类似于partition的惰性列表序列,但可能包括结尾处少于n个元素的分区。
当未提供集合时返回一个有状态的转换器。"
{:added "1.2"}
([^long n]
(internal-partition-all n))
([n coll]
(partition-all n n coll))
(internal-partition-all n step coll)))
{:pre [(pos? n)]}
user=> (partition-all -1 [1 2 3])
{:pre [(pos? n) (pos? step)]}
(internal-partition n step coll))
AssertionError AssertionError: n应该为正数 clojure.core/partition-all (core.clj:6993)
user=> (partition -1 [1 2 3])
回答 由 jira 你曾执行过mvn clean吗?或者rm target?