什么是Scala中的“(x,y)”,实际返回的是什么?

weixin_38082682 2019-09-12 04:06:11

scala> def check(a: Int, b: Int): (Int, Int) = { (3, 4) } 返回类型为(Int, Int)。这怎么可能?什么是Scala实际返回?一个元组?数组?无论如何这是什么类型? 我知道,那么我可以调用这个函数是这样的: scala> val (a, b) = check(1,2) a: Int = 3 b: Int = 4 或者这样: scala> val x = check(1,2) x: (Int, Int) = (3,4) 我还在学习Scala,但如果我看到这个我不记得之前或之后,或此语法的名称。它是什么? 我给出的第一个例子很容易,返回(3, 4)。是否有更现实的方式返回此(Int, Int)类型?我必须总是把最终结果(让我们假设x和y值包含这两个输入的最终输出)像这样(x, y)或返回(x, y)?






...全文
93 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38087753 2019-09-12
  • 打赏
  • 举报
回复

作为@dhg提到的更好的方式,(Int, Int)是等于Tuple2[Int, Int] 在第二样品您在变量定义使用模式匹配。你可以使用它与元组,案例类和所有提取器。实际上,一切都是通过提取器进行的。 scala> val p = Point(1, 2) p: Point = Point(1,2) scala> val Point(x, y) = p x: Int = 1 y: Int = 2 scala> val Property = "(.+)=(.+)".r Property: scala.util.matching.Regex = (.+)=(.+) scala> val Property(name, value) = "name1=value1" name: String = name1 value: String = value1
weixin_38123126 2019-09-12
  • 打赏
  • 举报
回复

类型(Int, Int)仅仅是一个写Tuple2[Int,Int]

435

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧