【问题标题】:Mapping a tuple [duplicate]映射元组[重复]
【发布时间】:2017-11-08 03:14:24
【问题描述】:

有没有办法映射一个元组?

尝试了以下方法但不起作用

(a, b).map(v1,v2 => SomeFunction(v1, v2)

可能的替代方案是案例类

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

想知道是否有其他选择。

【问题讨论】:

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

标签: scala


【解决方案1】:

您可以遍历元组,然后通过 map() 遍历 Iterator ...

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-28
    • 2022-06-21
    • 2019-04-11
    • 2020-01-19
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 2022-12-12
    相关资源
    最近更新 更多