scala - 使用元组作为参数列表调用方法

标签 scala syntax tuples

这个问题在这里已经有了答案:





scala tuple unpacking

(5 个回答)


6年前关闭。




我想知道什么是最好的方法来做到这一点。

val foo = Some("a")
val bar = Some(2)

def baz(a: String, b: Int) = if((b % 2) == 0) Some(a+","+b) else None

(x zip y) flatMap baz //does not compile of course
(x zip y) flatMap { x => baz(x._1, x._2) } //ugly

我认为 Odersky 等人。在这个例子中,他们还有另一个技巧来减少噪音。

因此,问题是假设您不允许更改 baz 的实现,如何解决这里的困惑问题。 (例如 def baz(a: (String Int)) )。

最佳答案

这个问题已经在这里回答:scala tuple unpacking

首先通过偏应用使foo成为一个函数,然后调用tupled使用您的参数列表:

(foo _).tupled(myTuple)

关于scala - 使用元组作为参数列表调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6322436/

相关文章:

scala - com.typesafe.config.ConfigException$ 缺少 : No configuration setting found for key 'play'

python - 有没有办法将数字添加到列表中元组的第一部分?

swift - 无法理解 Swift Tuple 比较

scala - scala 中的函数式编程 - 无限流

scala - 如何在 Scala 中跟踪嵌套函数

scala 2.10,akka-camel TCP套接字通信

c - 基本C链表语法错误

perl - Perl 的 `foreach` 语句中括号的用途是什么?

c - 如何将标识符插入到 C 中的哈希表中?

python - 如何使用元组列表中的元组中的值作为函数的参数?