迭代一个序列,在每个步骤中访问当前项目和以下项目
iterate a sequence, accessing current item and the following in each step
比如说,我有 5 个 javaScript 个对象存储在一个向量中:
(def v [o1 o2 o3 o4 o5])
他们每个人都有一个方法"connect",它获取另一个对象作为参数。
手动我现在会:
o1.connect(o2);
o2.connect(o3);
o3.connect(o4);
o4.connect(o5);
什么是自动化的好方法?
我只想到了一些奇怪的解决方案:如:
(doseq [[a b] (zipmap (butlast v) (rest v))]
(.connect a b))
有没有更好的方法?
您可以使用 partition
:
(doseq [[a b] (partition 2 1 v)]
(.connect a b))
比如说,我有 5 个 javaScript 个对象存储在一个向量中:
(def v [o1 o2 o3 o4 o5])
他们每个人都有一个方法"connect",它获取另一个对象作为参数。
手动我现在会:
o1.connect(o2);
o2.connect(o3);
o3.connect(o4);
o4.connect(o5);
什么是自动化的好方法?
我只想到了一些奇怪的解决方案:如:
(doseq [[a b] (zipmap (butlast v) (rest v))]
(.connect a b))
有没有更好的方法?
您可以使用 partition
:
(doseq [[a b] (partition 2 1 v)]
(.connect a b))