Scala 映射元组

Scala 映射元组,scala,Scala,有办法映射元组吗 尝试了以下操作,但不起作用 (a, b).map(v1,v2 => SomeFunction(v1, v2) 可能的替代方案是案例类 (a, b) match { case (Some(v1), Some(v2)) => SomeFunction(a, b) case _ => None } 想知道是否还有其他选择。您可以在元组上迭代,然后在迭代器上迭代map() (9,'c',true)

有办法映射元组吗

尝试了以下操作,但不起作用

(a, b).map(v1,v2 => SomeFunction(v1, v2)
可能的替代方案是案例类

      (a, b) match {
          case (Some(v1), Some(v2)) => SomeFunction(a, b)
          case _ => None
        }

想知道是否还有其他选择。

您可以在元组上迭代,然后在
迭代器上迭代
map()

(9,'c',true).productIterator.map(???)

。。。但是元组包含不同类型的元素,因此迭代器是
迭代器[Any]
,这可能没有用处或不安全。

此外,
(a,b).map(v1,v2=>SomeFunction(v1,v2))
似乎暗示您根本不需要
映射
操作,您只想使用元组的元素作为函数的参数。您是对的。我只想将它们作为参数传递,如果它是一些(v1),一些(v2)。试着利用地图。那不是地图操作。是的,完全同意。我认为模式匹配在这里更合适。还有其他建议吗?@NithinChandy直接使用?如果您有一个元组
(a,b)
,只需调用
SomeFunction(a,b)
。。。