5
myList |> List.filter (fun item ->
    if item.MyValue < 10 then
        sideEffect ()
        true
    else
        false )

にブレークポイントを設定するとfalse )、無視/スキップされます。

しなければならない:

        false
)

私は、これがなぜ起こるのかを知ることにはあまり興味がありません(知識に基づいた推測をするのは非常に簡単です)。これが対処されるかどうかを知ることと同じです。

4

1 に答える 1

6

VS2012では修正されていないので、誰が知っていますか(将来を予測するには遠すぎます)。VS2010ではデバッガーのサポートは「十分」であったため、このサイクルではあまり投資しないことを選択しました。お客様がデバッガー*について言及することはめったにありません(おそらく、F#コードをデバッグする必要がほとんどないためですか?)。そのため、優先順位を付けていません。

(*-1つの例外を除いて、パイプラインや大きな式のデバッグなどの場合、人々は本当に中間値/戻り値を見たいと思っています-この要求はC#とF#の両方のユーザーに共通です(おそらくF#にとってより重要です)。見てみると、これはVSデバッガーに対する最も投票数の多いユーザー要求です。

http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2206747-function-return-value-in-debugger

そこにあなたの声を追加してください。)

これらのマイナーなデバッガーの問題はすべて、コードをより多くの行に分散したり、より多くの中間変数を導入したりすることで回避できる場合があります。コードをデバッグしやすくするためだけに変更するのは面倒ですが、本当に必要な人のための回避策について言及する価値があります。

于 2012-06-27T05:19:15.887 に答える