これらの 2 つのスレッドを見た後: F# には Haskell のテイクと同等のものがありますか? 、F# で N 個の異なるインデックスを持つシーケンスから N 個の要素を取得 します 、リストでシーケンス演算子を使用する最良の方法、またはそれらを使用する場合でも、
私は現在 F# の初心者であり、HtmlAgilityPack から取得した多くのシーケンスを処理する必要があるプログラムを作成しています。Seq モジュールには興味深い演算子がいくつかありますが、それらのスレッドで述べられているように、パフォーマンスに関連して不十分である可能性があり、seq -> list の間で常に変換する必要がある場合、問題解決ではないものでコードが乱雑になります.. . それが最初に F# を学び始めた理由です。
簡単な例は、リストの「N」個の要素を取得する必要がある場合です。
listOfRows
|> Seq.take 2
// Now I don't have a list anymore, it returns a sequence
|> List.ofSeq
では、これらのシナリオに対処する最善の方法について誰かが光を当てることができますか? Seq.take と Seq.skip を使用してソリューションを実行できますが、これは非常に非効率的であることが知られています。一方、機能を標準ライブラリに組み込み、別のコレクションで同じ概念を使用するために再実装したり、明示的な変換でコードを汚したりするのは残念です。
「list -> seq」と「seq -> list」の間の各変換がパフォーマンスに与える影響をどのように確認できますか?
どうもありがとう。