Scala元组解构
发布时间:2020-12-16 09:38:41 所属栏目:安全 来源:网络整理
导读:我是Scala的新人,跑过一个令人烦恼的小小的打嗝。 平行初始化两个vars很好:var(x,y)=(1,2) 但是我找不到并行分配新值的方法:(x,y)=(x y,y-x)//无效语法 我最终写这样的东西:val xtmp = x y; y = x-y; x = xtmp 我认识到编写功能代码是避免这种情况的
我是Scala的新人,跑过一个令人烦恼的小小的打嗝。
平行初始化两个vars很好:var(x,y)=(1,2) 但是我找不到并行分配新值的方法:(x,y)=(x y,y-x)//无效语法 我最终写这样的东西:val xtmp = x y; y = x-y; x = xtmp 我认识到编写功能代码是避免这种情况的一种方法,但是在某些情况下,vars更有意义。 我有两个问题: 1)有没有更好的方法呢?我错过了什么吗? 2)不允许真正并行分配的原因是什么? 解决方法
不幸的是,您不能在Scala中执行多个任务。但是您可以使用元组,如果它们适合您的问题:
scala> var xy = (1,2) xy: (Int,Int) = (1,2) scala> xy = (xy._1 + xy._2,xy._2 - xy._1) xy: (Int,Int) = (3,1) 这样,xy是一个具有两个值的元组。可以使用xy._1访问第一个值,第二个值使用xy._2。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- QuickServer--在吵闹的环境里快速搭建自己的TcpServer(Prag
- 神秘的Scala Eclipse编译错误
- LINUX 查找tomcat日志关键词命令
- Angular,Central(Redux)’Store’与Singleton Service,又名
- 8天入门docker系列 —— 第一天 docker出现前的困惑和简单介
- 解决osc项目不支持空目录的问题
- angularjs – 我的业力单位测试执行但不停止自己(使用咕噜声
- Adminlte Bootstrap 侧边栏li禁用方法
- angular – Uncaught(承诺):没有Idle的提供者
- twitter-bootstrap – 如何更改Bootstrap 3面包屑中的默认分