シーケンスの値をキャッシュし、シーケンスから要求された値が実際にキャッシュされるたびに「キャッシュ」を標準出力に出力する関数を定義する方法。
let cacheObserver (input:seq<'a>) : seq<'a> =o failwith "cacheObserver not yet implemented!"
誰かがこれを行う方法を説明できますか?ありがとう
F#BCLのSeq.cacheの実装でこれがどのように行われるかを確認してください。行997は、新しい要素をキャッシュしていることを印刷する場所です。
基本的に、元のシーケンスから読み取った値を格納するには、可変のバッキングフィールドが必要です。次に、新しい要素のリクエストが届くたびに、まず、その要素が可変バッキングフィールドに既に存在するかどうかを確認します。そうでない場合は、元の要素を進めて、新しい要素をバッキングフィールドに追加します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加