行番号の印刷ステートメントが必要な場合はどうすればよいですか?Scalaの行番号を持つ式/印刷文をどのようにトレースできますか?
0
A
答えて
2
あなたのやりたいことによって異なります。
scala-trace-debugライブラリを使用すると、このような何かを入力することができます
Debug.trace(1 + 2)
をそしてこれを取得:
"3" in thread main:
path.to.file(file.Scala: 22) // click-able stack trace
あなたがそうのように、スタックトレースの行数をカスタマイズすることができます。
Debug.trace(1 + 2, 3) // 3 lines of stack trace
info.collaboration_station.debug._
を実行すると、次のようにすることもできます。
val three = 3.trace
...最後に
"3" in thread main:
path.to.file(file.Scala: 22)
は、表現のためのサポートがあります:
Debug.traceExpression{
val myVal = 4
1 + 2 + myVal
}
...
"{
val myVal = 4;
(3).+(myVal)
} -> 7" in thread main:
at main.Main$.main(Main.scala:12)
他のライブラリとは異なり、これはもっとありますデバッグを目的としています。何が起きているのかの履歴を提供したいと思っていて、ユーザーにスタックトレースを見せたくない場合は、このツールを使用しません。
3
Haoyi Liのsourcecodeライブラリをチェックしてください。あなたの探しているものがあなたに与えられていると思います。
ソースコードはPythonの __name__、C++の__LINE__やRubyの__FILE__に似て実行時に、あなたのプログラムに共通する「ソースコード 」コンテキストを提供するための小さなScalaのライブラリです。たとえば、 には現在のファイルのファイル名と行番号を問い合わせることができます。 から()の構文を使用するか暗黙的に指定します。
あなたは 自動的に行番号をキャプチャ機能とファイル名
def log(foo: String)(implicit line: sourcecode.Line, file: sourcecode.File) = {
println(s"${file.value}:${line.value} $foo")
}
log("Foooooo") // sourcecode/shared/src/test/scala/sourcecode/Tests.scala:86 Fooooo
のログを定義するためにsourcecode.Fileとsourcecode.Lineを使用することができます
https://github.com/lihaoyi/sourcecode#logging
例えば参照してください。
関連する問題
- 1. どのようにインデックス番号を持つリストの値をPython 2.7で印刷しますか?
- 2. Pythonでは、3つのリストをインデックス番号順に印刷できますか?
- 3. NASMで大きな番号を印刷
- 4. gccの-finstrument-functionsオプションによる行番号の印刷
- 5. 印刷のページ番号
- 6. は1つの注文番号とその番号に関連付けられたアイテムを印刷します
- 7. どのように配列を印刷できますか?
- 8. Python:バイトをどのように印刷できますか?
- 9. python3の番号のペア(2つの数字)を印刷する
- 10. jQueryのdatepickerはどのように印刷できますか?
- 11. ペア番号のみを印刷
- 12. Cのiノード番号を印刷
- 13. ランダムにMIPSの印刷番号
- 14. 3つのスレッドを使って順番に番号を印刷する
- 15. printdocumentクラスのイメージを持つhtmlドキュメントをどのようにレンダリングして印刷できますか?
- 16. MatLabの行番号を印刷する(上位関数の行番号を含む)か?
- 17. CMB2フィールドタイプはどのように印刷できますか?
- 18. 番号を集めて印刷する
- 19. 複合番号を印刷する
- 20. json文字列はどのように印刷できますか?
- 21. 辞書のインデックス番号を印刷しますか?
- 22. リスト内のサブリストから特定の番号を印刷できません
- 23. コアデータの正しい番号を印刷するにはどうすればよいですか?
- 24. Scalaで印刷できない文字を検出する
- 25. Qtシンプルなメモ帳、QmainWindowのステータスバーにある印刷行番号
- 26. Ctagsは行番号の印刷を頑固に拒否しています
- 27. 番号はどのようにリストできますか?
- 28. JsonフィードをPythonでどのように印刷しますか?
- 29. awkを使用してゼロから始まる行番号を印刷する
- 30. この配列をPHPでどのように印刷できますか?