gpt4 book ai didi

scala - 带有中缀符号的有趣行为

转载 作者:行者123 更新时间:2023-12-04 17:51:47 25 4
gpt4 key购买 nike

有时,你会躲在电脑屏幕后面,试图摆脱你的女 friend 。然而,我发现 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"), Person("Joe"), Person("Piet"), Person("Alex"))

val girls = List(Person("Jana"), Person("Alex"), Person("Sally"), 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方法。

关于scala - 带有中缀符号的有趣行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23925713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com