我们可以用 list.map 调用具有多个参数的方法吗?

Can we call method having more than one arguments with list.map?

我试图在 Scala 中对列表执行乘法运算,例如:

  val list = List(1,2,3,4,5)
  list.map(_*2)

  res0: List[Int] = List(2, 4, 6, 8, 10) // Output

现在,我为乘法运算创建了一个单独的方法,例如:

  val list = List(1,2,3,4,5)
  def multiplyListContents(x: Int) = {
    x * 2
  } 

  list.map(multiplyListContents)

  res1: List[Int] = List(2, 4, 6, 8, 10) // Output

现在我想传递自定义乘数而不是使用默认乘数 2,例如:

  val list = List(1,2,3,4,5)

  val multiplier = 3

  def multiplyListContents(x: Int, multiplier: Int) = {
    x * multiplier
  } 

  list.map(multiplyListContents(multiplier))

  res1: List[Int] = List(3, 6, 9, 12, 15) // Output should be this

知道怎么做吗?

scala> list.map(multiplyListContents(_, multiplier))
res0: List[Int] = List(3, 6, 9, 12, 15)

这转换为 list.map(x => multiplyListContents(x, multiplier))
(有关详细信息,请参阅 scala placeholder syntax)。