Clojure 克罗朱尔。每滴?
Clojure库是否具有“drop every”类型的函数?接受一个惰性列表并返回一个每删除第n个项目的列表的东西 我不知道怎么做这个 干杯 菲尔 例如:Clojure 克罗朱尔。每滴?,clojure,functional-programming,lazy-evaluation,Clojure,Functional Programming,Lazy Evaluation,Clojure库是否具有“drop every”类型的函数?接受一个惰性列表并返回一个每删除第n个项目的列表的东西 我不知道怎么做这个 干杯 菲尔 例如: (drop-every 2 [0 1 2 3 4 5]) ;= (0 2 4) (drop-every 3 [0 1 2 3 4 5 6 7 8]) ;= (0 1 3 4 6 7) 作为旁注,drop nth将是一个诱人的名字,因为clojure.core中已经有了take nth。但是,take nth始终返回第一个项目,然后每n个项
(drop-every 2 [0 1 2 3 4 5])
;= (0 2 4)
(drop-every 3 [0 1 2 3 4 5 6 7 8])
;= (0 1 3 4 6 7)
作为旁注,drop nth
将是一个诱人的名字,因为clojure.core
中已经有了take nth
。但是,take nth
始终返回第一个项目,然后每n个项目返回一次,而上述版本的drop every
则从原始序列的第n个项目开始,每n个项目都会删除一次。(根据上述内容,删除第一个项目和第一个项目之后的第n个项目的函数很容易编写。)
例如:
(drop-every 2 [0 1 2 3 4 5])
;= (0 2 4)
(drop-every 3 [0 1 2 3 4 5 6 7 8])
;= (0 1 3 4 6 7)
作为旁注,
drop nth
将是一个诱人的名字,因为clojure.core
中已经有了take nth
。但是,take nth
始终返回第一个项目,然后每n个项目返回一次,而上述版本的drop every
则从原始序列的第n个项目开始,每n个项目都会删除一次。(根据上述内容,删除第一个项目和第一个项目之后的第n个项目的函数很容易编写。)Ah。。。康卡特。我没想到。我当时正试图弄清楚如何从xs获取“下一项”,而不是仅仅将它们粘在一起。谢谢。啊。。。康卡特。我没想到。我当时正试图弄清楚如何从xs获取“下一项”,而不是仅仅将它们粘在一起。谢谢