怎么采取不超过常数?

时间:2014-07-17 16:07:59

标签: f#

我想学习F#。

我想不再使用Seq(或数组)中的元素而不是常量。

我使用此代码:[ "11"; "12"; "13" ] |> Seq.take 2 |> Seq.toList |> Seq.iter (printf "%A ")我得到"11" "12"

如果我尝试[ "11"; "12"; "13" ] |> Seq.take 4 |> Seq.toList |> Seq.iter (printf "%A "),我会收到System.InvalidOperationException: The input sequence has an insufficient number of elements.

等异常

我可以想起像[ "11"; "12"; "13" ] |> Seq.takeWhile (fun elem -> true) |> Seq.toList |> Seq.iter (printf "%A ")中的那样 但我不知道如何停止达到一个不变的限制。

所以我需要像[ "11"; "12"; "13" ] |> Seq.takeNoMoreThan 4 |> Seq.toList |> Seq.iter (printf "%A ")这样的东西。

我不知道如何实现我的目标。

1 个答案:

答案 0 :(得分:6)

您应该使用Seq.truncate代替。