讓我們這樣的代碼:是否有一種更通用的方式來迭代,過濾,對F#中的集合應用操作?
open System
open System.IO
let lines = seq {
use sr = new StreamReader(@"d:\a.h")
while not sr.EndOfStream do yield sr.ReadLine()
}
lines |> Seq.iter Console.WriteLine
Console.ReadLine()
在這裏,我閱讀完所有的線在seq
,並過目一下,我使用Seq.iter
。如果我有一個列表,我將使用List.iter
,如果我有一個數組,我將使用Array.iter
。是不是我可以使用更通用的遍歷函數,而不必跟蹤我擁有哪種類型的集合?例如,在Scala中,我只需調用foreach
,無論我使用的是List,Array還是Seq,它都可以工作。
我做錯了嗎?
爲了效率。 – BLUEPIXY