コーディングに関する一般的な質問があります...OCamlでデバッグ用のプログラムをトレースする方法は?
デバッグ中に、私のコードのある時点で、現在の状態を出力するコードが必要です。私がデバッグしないとき、私は他のコードの可視性を邪魔するので、そこにコードを残したくない...
ほとんどの時間、それはローカル変数を含むので、それらを1つの関数にパッケージ化するのは難しい、と私は
それでは、どのようにあなたは、一般的に「印刷/チェック」この種のコードを管理しない...引数として、すべてを渡したくありませんか?何か良い練習はありますか?フラグのみだった場合にのみ、最終的な文字列を印刷し、私はデバッグ機能を持っていた
let debug_flag = ref false
let debug fmt =
if !debug_flag then Printf.eprintf fmt
else Printf.ifprintf stderr fmt
私が印刷したいものはいくつかの行をカバーし、多くのローカル変数を含んでいます... – SoftTimur
このデバッグ関数の問題は、最後に使用されていなくても引数が常に計算されるということです。 –