首页 > 解决方案 > 如何在 Scala 中声明默认的元组函数参数?

问题描述

我想声明一个函数,它接收一个字符串和一个 Tuple2,第一个值为布尔值,第二个值为任何类型。tuple2 应该有一个默认值,以防它没有传递给函数

我尝试使用以下代码将布尔值设置为 false,但我失败了。

def setSet(key: String, value: Any, tuple2: Tuple2[Boolean, Any] = tuple2._1 = false) 

标签: scaladefault-parameters

解决方案


尝试重载方法

def setSet(key: String, value: Any, tuple2: Tuple2[Boolean, Any]): Unit = println(s"key=$key, value=$value, tuple2=$tuple2")

def setSet(key: String, value: Any, any: Any): Unit = setSet(key, value, (false, any))

setSet("a", "b", 1) // key=a, value=b, tuple2=(false,1)
setSet("a", "b", (true, 2)) // key=a, value=b, tuple2=(true,2)

推荐阅读