ビルダーオブジェクトのWhile
メソッドを定義する場合は、computation expressionsにwhile
-loopsを使用できます。 While
メソッドのシグネチャは次のとおりです。比較のためにF#の計算式のwhileループの役割は何ですか?
member b.While (predicate:unit->bool, body:M<'a>) : M<'a>
、For
メソッドのシグネチャは次のとおりです。
member b.For (items:seq<'a>, body:unit->M<'a>) : M<'a>
あなたはWhile
-methodで、体が単純型である、ということに気づくはずです、For
メソッドのような関数ではありません。
let
などの他の文を計算式内に埋め込むことはできますが、それらはwhile
-loopで複数回実行することは不可能です。
builder {
while foo() do
printfn "step"
yield bar()
}
はなぜwhile
-loopが複数回実行されていませんが、単に繰り返さ?なぜfor-loopsとの大きな違いですか?さらに、計算式でwhileループを使用するための戦略がいくつかありますか?
ニース。私は 'Run'について知らなかった。 –