加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 使用中缀表示法的有趣行为

发布时间:2020-12-16 18:20:40 所属栏目:安全 来源:网络整理
导读:人们有时会试图通过躲在电脑屏幕后离开你的女朋友.但是,我发现 Scala有时候和我的女孩完全一样…… 这打印两个列表之间的交集: val boys = List(Person("John"),Person("Kim"),Person("Joe"),Person("Piet"),Person("Alex")) val girls = List(Person("Jana
人们有时会试图通过躲在电脑屏幕后离开你的女朋友.但是,我发现 Scala有时候和我的女孩完全一样……

这打印两个列表之间的交集:

val boys = List(Person("John"),Person("Kim"),Person("Joe"),Person("Piet"),Person("Alex"))

  val girls = List(Person("Jana"),Person("Alex"),Person("Sally"),Person("Kim"))

  println("Unisex names: " + boys.intersect(girls))

这打印绝对没有:

val boys = List(Person("John"),Person("Kim"))

  println("Unisex names: " + boys intersect girls)

没有编译器警告,该语句绝对没有打印到控制台.有人可以轻轻解释(我有宿醉),为什么会这样.

解决方法

它变得如此黯然失色:

println("Unisex names: ".+(boys).intersect(girls))

然后根据-Xprint:typer编译器选项,它被重写为:

println(augmentString("Unisex names: ".+(boys.toString)).intersect[Any](girls))

其中augmentString是从String类型到StringOps的隐式转换,它提供了intersect方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读