我们可以用 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
)。
我试图在 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
)。