스칼라에서 꽤 인쇄된 나무와 같은 인쇄 케이스 클래스

Suraj P 2022년6월13일
스칼라에서 꽤 인쇄된 나무와 같은 인쇄 케이스 클래스

이 기사는 스칼라에서 (예쁘게 인쇄된) 나무와 같은 케이스 클래스를 인쇄하는 방법을 알려줄 것입니다.

스칼라에서 꽤 인쇄된 나무와 같은 인쇄 케이스 클래스

출력을 트리와 같은 방식으로 인쇄하는 것은 Scala에서 파서를 만들 때 매우 유용합니다.

케이스 클래스를 예쁘게 인쇄하는 데 사용할 수 있는 sext라는 패키지가 있습니다. treeStringvalueTreeString과 같은 많은 유용한 기능을 제공하여 트리와 같은 방식으로 출력을 인쇄할 수 있습니다.

그러나 작동하게 하려면 먼저 라이브러리 종속성에 종속성을 추가해야 합니다. 먼저 프로젝트에서 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
작가: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub