F#中序列的递归函数 [英] Recursive functions for sequences in F#
本文介绍了F#中序列的递归函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
推荐答案
没有标准方法,因为您很少为序列编写递归函数。
您应该了解Seq module中的各种高阶函数。它们通常绰绰有余,因此您不必自己编写递归函数。
要递归生成序列,序列表达式是一种简单直观的方法:
let rec allFiles dir =
seq { yield! Directory.GetFiles dir
for d in Directory.GetDirectories dir do
yield! allFiles d }
如果您必须分解一个序列并递归操作它,那么您就做错了。您应该操作List
或LazyList from F# PowerPack,然后将结果转换回序列。
这篇关于F#中序列的递归函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文