返回元组的第一个元素

问题描述 投票:0回答:3

假设我创建一个将两个整数相加的函数:

def addInt(a : Int, b: Int) : (Int, Int) = {
 | val x = a + b
 | (x,2)
 | }

我为了这个问题特意回来

(result, 2)

现在我想创建一个仅返回 x 的变量。

val result = addInt(3,4) for example

结果会返回 (7,2) 但我只想返回 7。我该怎么做? (显然没有改变函数的代码)。

scala functional-programming
3个回答
13
投票
val result = addInt(3,4)._1

如果你想要2:

val the2 = addInt(3,4)._2

2
投票

Scala 元组有其元素的访问器方法,称为

_1
_2
_3
等。因此,要选择元组的第一个元素,您可以调用
_1
:

someTuple._1

您可以在 Scala API 文档中找到 Scala 元组类的文档。

或者,您也可以使用模式匹配。

val result      = addInt(3, 4)._1
val (result, _) = addInt(3, 4)

0
投票

从 Scala 3 开始,可以通过这种方式访问元组元素:

val result = addInt(3,4)(0) // first element of tuple
© www.soinside.com 2019 - 2024. All rights reserved.