HOWTO · Scala

Imprimir clases de casos como Pretty Printed Tree en Scala

Este artículo habla sobre las clases de casos de impresión como el árbol(bastante impreso).

En esta página

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