简单的问题,但我无法通过 Google 获得答案。我过去见过有人编写了一个宏,让您选择
case class
为您提供的各种内容,您可以通过将 @data
宏注释添加到 class
而不是 case
来获得这些内容
关键字。这是什么项目?
我认为这是 Scala 宏研讨会的一部分。
Scala World 2016 演讲“Scala 编译器插件的回归”的练习材料
https://github.com/fommil/scala-compiler-plugin
此项目包含一个用于模拟案例类的
@data
宏,由 Sam Halliday 编写,并由 Eugene Burmako 编写一些待处理的拉取请求。
我不知道
@data class
。我无法想象有人能做到这一点,与案例班相比没有任何优势。你必须输入更多内容,而且我更相信本机实现而不是某些库
我认为你指的是lombok项目(这意味着Java,但可能可以在Scala上使用):https://projectlombok.org/features/Data.html
此外,Kotlin 有
data class
而不是 case class
: https://kotlinlang.org/docs/reference/data-classes.html
您可以从 https://github.com/alexarchambault/data-class获取此信息。
用法如下:
import dataclass.data
@data class Foo(n: Int, s: String)