_评论者:kworam_
我已经为#1编写了测试,并使用criterium取了一些'之前'的计时,
我现在已经遇到了一个问题好几个小时了,我需要得到一些帮助。我在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'的更改没有。据我所知,它们都应抛出包含我提供的输入参数的AssertionError。
任何帮助都将非常感谢。
user=> (source partition)
(defn partition
返回一个n个项目的列表的懒加载序列,列表之间相隔步进。如果没有提供步进,默认为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))
nil
[n step pad coll]
(internal-partition n step pad coll)))
nil
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))
{:pre [(pos? n)]}
(partition-all n n coll))
(internal-partition-all n step coll)))
(partition n n coll))
user=> (partition-all -1 [1 2 3])
(internal-partition n step coll))
nil
(AssertionError Assert failed: (pos? n) clojure.core/partition-all (core.clj:6993))
user=> (partition -1 [1 2 3])
回答