Imprimir clases de casos como Pretty Printed Tree en Scala

Suraj P 13 junio 2022
Imprimir clases de casos como Pretty Printed Tree en Scala

Este artículo le enseñará cómo imprimir clases de casos como árboles (bastante impresos) en Scala.

Imprimir clases de casos como Pretty Printed Tree en Scala

Imprimir la salida en forma de árbol es muy útil cuando se crean analizadores en Scala.

Tenemos un paquete llamado sext que podemos usar para imprimir bastante las clases de casos. Proporciona muchas funciones útiles, como treeString y valueTreeString, que pueden imprimir la salida en forma de árbol.

Pero para que funcione, primero debemos agregar una dependencia en las dependencias de nuestra biblioteca. Primero, tenemos que abrir la dependencia SBT en nuestro proyecto y agregarle la siguiente línea:

libraryDependencies += "com.github.nikita-volkov" % "sext" % "0.2.4"

Ahora podemos usar la declaración de importación import sext._ en nuestro programa. Veamos un ejemplo para entenderlo mejor.

Código de ejemplo:

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)
}

Producción :

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
Autor: 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