行番号の印刷ステートメントが必要な場合はどうすればよいですか?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では、3つのリストをインデックス番号順に印刷できますか?
- 2. 印刷のページ番号
- 3. は1つの注文番号とその番号に関連付けられたアイテムを印刷します
- 4. どのように配列を印刷できますか?
- 5. python3の番号のペア(2つの数字)を印刷する
- 6. ランダムにMIPSの印刷番号
- 7. 番号を集めて印刷する
- 8. jQueryのdatepickerはどのように印刷できますか?
- 9. awkを使用してゼロから始まる行番号を印刷する
- 10. 行番号の列を持つFlex DataGrid
- 11. プレーフレームワーク(scala)で@記号をHTMLで印刷する方法
- 12. 番号はどのようにリストできますか?
- 13. ワードラップを持つPrintWriterに文字列のArrayListを印刷する
- 14. どのようにして一致する行と次の3行をPerlで印刷できますか?
- 15. アセンブリNASMの番号を印刷するには?
- 16. Excelシート(EPPlus)を印刷するときに最後の行の行番号を取得する方法
- 17. 番号が印刷できません[]がテキストファイルに入っています
- 18. SMLのcase文の中でどのように印刷しますか?
- 19. この2次元配列をどのように印刷できますか?
- 20. Ada.Calendar.Time変数をAdaでどのように印刷できますか?
- 21. 各内部リストが1つの行に印刷されるようにArrayListのArrayListを印刷するにはどうすればよいですか?
- 22. 複数のモナドを持つfor式をscalaでどのように変換しますか?
- 23. 印刷各文の3番目のワード
- 24. ANTLR4を使用して、プロダクションと行番号をどのように印字するのですか?
- 25. Excel正確な小数点付きの印刷番号セパレータ
- 26. どうすればPHPのテキストブロックを印刷できますか
- 27. Rでstderrにどのように印刷しますか?
- 28. WindowsはどのようにPDF文書を一括印刷しますか?
- 29. Pythonでリストを印刷するときの印刷形式を制御する
- 30. 変数が文字列のときにプログラム番号が印刷されるのはなぜですか?