コラッツ予想がとけたらいいな2

自分の考察を書いていきます。

F#と戯れよう その4(アサートでフォーマット)

Debug.Assert()で、アサートすることができる。
第一引数がの時に、第二引数の文字列を出力して、プログラムは停止する。
スクリプトでは使えないようだ。

open System.Diagnostics
[<EntryPoint>]
let main argv =
  let x = -1
  Debug.Assert(x >= 0, "negate!")
  0
// => "negate!"を出力して停止する


xの値も出力したいとしよう。
しかしprintfn()のように直接%dとかは使えない。
こんな時は、sprintf()を使おう。

open System.Diagnostics
[<EntryPoint>]
let main argv =
  let x = -1
  Debug.Assert(x >= 0, (sprintf "negate! %d" x))
  0
// => "negate! -1"を出力して停止する