scala - 如何调用带有短参数列表的 Scala 函数?

标签 scala copy

假设我有一个带有更新方法的 Scala 类:

case class User (id: Integer, name: String, surname: String, address: String) {
    def update (name: String, surname: String, address: String): Unit = {
        copy (name, surname, address)
    }        
}

Scala 是否可以使用一个或两个参数调用更新函数并委托(delegate)调用复制函数?像这样:

val user: User = User (1, "name", "surname", "address")
user.update(name: "name") // Here it delegate to call copy (name)

或者我是否必须为每种情况复制并粘贴每个更新函数?

最佳答案

考虑

case class User (id: Integer, name: String, surname: String, address: String)

其中成员类型跟在成员名称后面。

然后像这样直接调用copy

val userA = User(1,"a","b","c")
userA: User(1,a,b,c)

val userA2 = a.copy(2)
userA2: User(2,a,b,c)

val userBB = a.copy(name = "bb")
userBB: User(1,bb,b,c)

关于scala - 如何调用带有短参数列表的 Scala 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25600681/

相关文章:

scala - sbt 多项目构建在项目之间具有测试依赖性?

scala - 如何丰富包对象?

c# - 正确复制其中包含(字节)数组的 C# 结构?

javascript - 网页 : Copy to clipboard (custom. 。)

ios - xcode 4 仅在设备上复制一次资源

php - 将 mysql blob 字段从一个数据库复制到另一个数据库

python - Python 如何访问 X11 剪贴板?

string - 有没有办法扩展 Scala 的 RichString?

Scala 短类型安全转换运算符

scala - Scala 特征中的 this.getClass 用法