Scala中:::(三重冒号)的用法是什么?
发布时间:2020-12-16 09:55:20 所属栏目:安全 来源:网络整理
导读:我是 scala的新手.我遇到了一个概念,如下所示: { val x = a; b.:::(x) } In this block a is still evaluated before b,and then the result of this evaluation is passed as an operand to b’s ::: method 上述声明的含义是什么.. 我尝试过如下: var a
我是
scala的新手.我遇到了一个概念,如下所示:
{ val x = a; b.:::(x) }
上述声明的含义是什么.. var a = 10 提前致谢…. 解决方法
:::运算符在
List trait上定义并连接两个列表.像在你的例子中那样在Int上使用它(var a = 10)应该不起作用(除非你自己定义这样的运算符).
以下是它在列表中的工作原理: val a = List(1,2); val b = List(3,4); val c1 = a ::: b // List(1,2,3,4) val c2 = a.:::(b) // List(3,4,1,2) 使用中缀语法(c1)和方法调用语法(c2)调用:::在列表连接的顺序上有所不同(请参阅J?rg的注释). 语句“a仍然在b之前被评估”意味着在将它作为参数传递给方法调用之前评估a.除非方法使用call by name,否则在调用之前就会像在Java中一样评估其参数. This可以给你一些提示如何搜索Scala运算符和关键字的含义. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用Angular为Google地方信息自动填充指定起始位置
- 开源免费天气预报接口API以及全国所有地区代码!!(国家气
- angularjs popup-table 弹出框表格指令
- RestFul(一)WebService之CXF的RestFul风格开发
- angularjs中使用ng-repeat需要注意的东西
- bootstrap3中container与container_fluid外层容器的区别讲解
- bash – 使用后台进程退出shell脚本
- bash: /usr/local/bin/rar: /lib/ld-linux.so.2: bad ELF i
- WebService大讲堂之Axis2(1):用POJO实现0配置的WebServi
- 简单的Scala语法 – 尝试定义“==”运算符 – 我缺少什么?