4
我习惯了用迭代器(F#:序列)做功能性事物的Python's itertools,并想知道F#或常用库中是否有等价物,因为它们非常方便。F的Itertools#
对我来说,顶部工具有:
- 产物:笛卡儿积,相当于一个嵌套for循环
- 组合
- 排列
- takewhile
- dropwhile
- 链:将多个迭代器连成一个新的更长的迭代器
- 重复*:重复(5) - > 5,5,5 ...
- count *:count(10) - > 10,11,12 ...
- cycle *:cycle([1,2 ,3]) - > 1,2,3,1,2 ...
*我想这3个会在F#中产生单子吗?你如何让他们无限?
系统提示我问,因为我看到了this question on permutations in F#,并且很惊讶它不是图书馆的一部分或者构建在语言中。
'TakeWhile','dropwhile'链接和重复都包含在默认的F#库中。 –