scala - Scala 部分应用案例类定义的奇怪行为
问题描述
当我尝试通过一系列其他类应用案例类的部分构造时,我得到了一个意想不到的(至少对我而言)结果。
这是 Scala 2.11.12
object PartiallyAppliedWeirdness {
case class Person(dob: String)(name: String)
class Born(dob: String) {
def namingFunction: String => Person = Person(dob)
}
class Naming(bornPerson: Born,name: String) {
def namingFunction: Person = bornPerson.namingFunction (name)
}
def main(args: Array[String]): Unit = {
val birth: Born = new Born("2010-01-01")
val somPerson: Person = new Naming(birth, "Dave").namingFunction
println(somPerson)
println(somPerson.getClass)
}
}
结果
Person(2010-01-01)
class PartiallyAppliedWeirdness$Person
怎么会这样!谁能解释这里发生了什么?谢谢
解决方案
推荐阅读
- python - 从 requests.post() 返回的结果?
- c# - 如何处理 U-SQL EXTRACT 语句中丢失的文件?
- python - Missing_value 属性丢失从 netCDF 文件中读取数据?
- corda - Corda 在尝试生成基本节点时抛出错误
- arrays - 相当于powershell中的local,测试一个元素是否包含在数组中
- angular - 服务与组件
- vb.net - 解析原始 mtom 以构造文件
- python - 如何在 TensorFlow Object Detection API 中保留类特定权重的同时重置类
- mysql - 我在 mySQL db(插入)中创建了一个用户,但无法使用该用户登录 Laravel 应用程序
- c# - 切换 EF 数据库时使用相同的 linq