스칼라에서 꽤 인쇄된 나무와 같은 인쇄 케이스 클래스
Suraj P
2022년6월13일
이 기사는 스칼라에서 (예쁘게 인쇄된) 나무와 같은 케이스 클래스를 인쇄하는 방법을 알려줄 것입니다.
스칼라에서 꽤 인쇄된 나무와 같은 인쇄 케이스 클래스
출력을 트리와 같은 방식으로 인쇄하는 것은 Scala에서 파서를 만들 때 매우 유용합니다.
케이스 클래스를 예쁘게 인쇄하는 데 사용할 수 있는 sext
라는 패키지가 있습니다. treeString
및 valueTreeString
과 같은 많은 유용한 기능을 제공하여 트리와 같은 방식으로 출력을 인쇄할 수 있습니다.
그러나 작동하게 하려면 먼저 라이브러리 종속성에 종속성을 추가해야 합니다. 먼저 프로젝트에서 SBT 종속성을 열고 다음 줄을 추가해야 합니다.
libraryDependencies += "com.github.nikita-volkov" % "sext" % "0.2.4"
이제 프로그램에서 import 문 import sext._
를 사용할 수 있습니다. 더 잘 이해할 수 있도록 예를 들어 보겠습니다.
예제 코드:
object Example extends App {
import sext._
case class ourClass( kind : Kind, list : List[ tree ] )
sealed trait Kind
case object Complex extends Kind
case class tree( a : Int, b : String )
val store = ourClass(Complex,List(tree(1, "abcd"), tree(2, "efgh")))
println("output using treeString:\n")
println(store.treeString)
println()
println("output using valueTreeString:\n")
println(store.valueTreeString)
}
출력:
output using treeString:
ourClass:
- Complex
- List:
| - tree:
| | - 1
| | - abcd
| - tree:
| | - 2
| | - efgh
output using valueTreeString:
- kind:
- list:
| - - a:
| | | 1
| | - b:
| | | abcd
| - - a:
| | | 2
| | - b:
| | | efgh