Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 在初始创建期间添加选项param(如果它存在于我的地图中)_Scala - Fatal编程技术网

Scala 在初始创建期间添加选项param(如果它存在于我的地图中)

Scala 在初始创建期间添加选项param(如果它存在于我的地图中),scala,Scala,如果参数d在初始创建期间存在于我的映射中,是否可以将其添加到映射中,或者在创建val m后是否必须进行.copy def doAbc(a: String, b: String, c: String, d: Option[Int]): Unit = { val m = Map( "a" -> a, "b" -> b, "c" -> c ) someService.doBLank(m) } 最干净的方法可能是这样的 def doAbc(a:

如果参数d在初始创建期间存在于我的映射中,是否可以将其添加到映射中,或者在创建val m后是否必须进行.copy

def doAbc(a: String, b: String, c: String, d: Option[Int]): Unit = {
  val m = Map(
    "a" -> a,
    "b" -> b,
    "c" -> c
  )

  someService.doBLank(m)
}

最干净的方法可能是这样的

def doAbc(a: String, b: String, c: String, d: Option[Int]): Unit = {
  val m = Map(
    "a" -> a,
    "b" -> b,
    "c" -> c
  ) ++ d.map("d" -> _ )

  someService.doBLank(m)
}

因为map有一个功能,可以向其添加元组的可遍历性。虽然从技术上讲,这并不是在初始创建时创建的,但我认为它符合您问题的目标。

它应该是
(“d”->)
(不知何故,我无法进行编辑)。不确定您是否需要.tolist您似乎正在构建一个
映射[String,String]
,但您的
d
参数是一个
选项[Int]
Int
如何适合您的
地图