残念ながら、多くの Template Haskell 関数にはまったくドキュメントがありません。そのような機能の 1 つがreport
. Bool
とを取りString
、指定された文字列をエラー メッセージとしてコンパイル エラーを生成します。一体何のためにあるのか、誰にも手がかりがありBool
ますか? 私が知る限り、どちらの値もまったく同じことを行います...
2 に答える
9
Bool
がの場合、True
エラーが報告されます。である場合False
、「警告」が報告されます。つまり、テンプレート コードは引き続き実行され、さらに「警告」が収集されます。
于 2012-03-07T11:09:51.643 に答える
2
ソース コードを見ると、という名前のクラスのメソッドである が呼び出されreport
ます。このメソッドには、実際にはいくつかのひどいドキュメントがありますが、ごくわずかなスニペットに過ぎません。私は引用します:qReport
Quasi
True
エラー ( ) または警告 ( ) を報告しますFalse
...しかし続行します。停止するために使用fail
します
そのため、適切なエラー メッセージで TH スプライスがクラッシュするようfail
です。代わりに電話する必要があります。この情報が、それを理解しようとしている他の人に役立つことを願っています...
于 2012-03-07T11:21:43.800 に答える