gpt4 book ai didi

Scala - lambda 参数可以匹配元组吗?

转载 作者:行者123 更新时间:2023-12-03 06:07:04 24 4
gpt4 key购买 nike

所以说我有一些类似的列表

val l = List((1, "blue"), (5, "red"), (2, "green"))

然后我想过滤掉其中一个,我可以做类似的事情

val m = l.filter(item => {
val (n, s) = item // "unpack" the tuple here
n != 2
}

有什么方法可以直接将元组“解压”为 lambda 的参数,而不是使用这个中间 item 变量?

像下面这样的东西是理想的,但是 Eclipse 告诉我参数数量错误;预期=1

val m = l.filter( (n, s) => n != 2 )

任何帮助将不胜感激 - 使用 2.9.0.1

最佳答案

这是您能得到的最接近的结果:

 val m = l.filter { case (n, s) => n != 2 }

它基本上是匿名 PartialFunction 内的模式匹配语法。 Function 对象和特征中还有 tupled 方法,但它们只是此模式匹配表达式的包装器。

关于Scala - lambda 参数可以匹配元组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7163676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com