Scala Seq
使用zipWithIndex
方法:
def zipWithIndex[A1 >: A, That](implicit bf: CanBuildFrom[Seq[A], (A1, Int), That]): That
使用其索引来拉开此序列。
返回:包含由该序列的所有元素组成的对的新序列与其索引配对。指数从0开始。
示例:
List("a", "b", "c").zipWithIndex = List(("a", 0), ("b", 1), ("c", 2))
Clojure中的等效函数是什么?
答案 0 :(得分:7)
Clojure的map-indexed
将为您提供集合中元素的索引列表。
if (memefontsize > 10) {
memefontsize = memefontsize - 1;
memedotcomtop.fontSize(memefontsize);
layer.draw()
}
if (memefontsize2 > 10) {
memefontsize2 = memefontsize2 - 1;
memedotcomtop2.fontSize(memefontsize2);
layer.draw();
}
答案 1 :(得分:1)
正如@jmargolisvt回答map-indexed
是一个很好的解决方案。
由于您的示例使用集合项反转了索引,因此您始终可以使用reverse进行组合:
(map-indexed (comp reverse list) ["a", "b", "c"])
或映射两个序列:
(map list ["a", "b", "c"] (range))