迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 Scala 中像漂亮的打印树一样打印案例类

作者:迹忆客 最近更新:2023/03/24 浏览次数:

本文将教你如何在 Scala 中打印案例类,例如(漂亮打印的)树。


在 Scala 中像漂亮的打印树一样打印案例类

在 Scala 中制作解析器时,以树状方式打印输出非常有用。

我们有一个名为 sext 的包,我们可以使用它来漂亮地打印案例类。它提供了许多有用的函数,例如 treeStringvalueTreeString,可以以类似树的方式打印输出。

但要使其工作,我们必须首先在我们的库依赖项中添加一个依赖项。首先,我们必须在我们的项目中打开 SBT 依赖并添加以下行:

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

现在我们可以在我们的程序中使用导入语句 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

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便