Scala元组中别名.x的含义

Scala元组知识点

(大神请直接跳过此部分,查看后文)

4.3. 元组(Tuple)
映射:映射是K/V对的集合。
元组:K/V对是元组的最简单形式,元组可以装着多个不同类型的值,是不同类型的值的聚集。
4.3.1. 创建访问元组
a、创建元素的一种方式
在这里插入图片描述
b、创建元组的第二种方式
在这里插入图片描述
目前 Scala 支持的元组最大长度为 22。对于更大长度你可以使用集合,或者扩展元组
4.3.2. 创建访问元组
a、元组的取值方式
访问组元:使用_1, _2, _3等访问组元。
在这里插入图片描述
访问组元:通过给别名定义,也可以通过别名x,y,z,k访问组元。
在这里插入图片描述
4.3.3. 元组遍历操作
在这里插入图片描述


在对通过别名定义的元组进行测试时,发现如下现象:
元组别名.x可以原样输出元组
在这里插入图片描述
由此产生了一些疑问:
.x是否是Scala元组的一个参数?该参数的含义是什么?是否还有其它类似的参数?


测试1:
在这里插入图片描述
结论1:x不是元组中第一个元素的名字,比如在测试1中,第一个元素的名字为x1,但.x依然生效。


测试2:
在这里插入图片描述
结论2:通过元组.26个字母进行测试,暂时未发现除.x外的其它参数可用。


结论(疑惑)综述: Scala元组中别名.x的含义应该元组的一个参数,含义是获取元组本身,暂时未发现其它可用的参数。(个人测试结论) 由此更觉得奇怪,Scala API没有该参数的说明,但参数可用,是否是开发者的一个遗留漏洞,还是有意而为?是否还有其它可用参数?


2018.11.21更新
通过查看源码,终于大概知道了.x是什么,如图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

总结:x表示apply 注入,提取方法,所以会返回元组本身。

感悟:
自己太无知了,因此还需要虚心学习,另外,要养成看源码的好习惯。


欢迎交流,邮箱liuyaowen005@163.com


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值