Does F# have an equivalent to Haskell's take?,Take N elements from sequence with N different indexes in F# の2つのスレッドを見てから、シーケンス演算子をリストに使用する最良の方法について考えています。F#リストとシーケンス演算子
私は現時点で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'間の各変換にどのような影響がありますか?
ありがとうございます。
多くのありがとうございます。あなたはまったく正しいし、私がF#で始まったとき、私は本当に私がやっていることに役立つことがわかった。どうもありがとう。 –