问题标签 [dotty]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
177 浏览

scala - Scala3 扩展基本类型和覆盖 ==

学习 Scala3 扩展和 CanEqual 概念,但发现难以扩展 Int 的某些特性。

在以下示例中,我可以轻松地将 >= 功能添加到 Int 以将其与 RationalNumber 案例类进行比较,但无法修改 == 的行为。(注 1~2 与 RationalNumber(1,2) 相同)。

这个问题似乎与基本的 AnyVal 类型以及 Scala 如何传​​递给 Java 来处理 equals 和 == 有关。

0 投票
2 回答
75 浏览

scala - 将 TupleN 值分配给 *: 类型变量如何在 Scala 3 中工作?

来自scala中的类型层次树

  • 让一个:Tuple2[Int,Int],我知道Tuple2[Int,Int]Product2[Int,Int];
  • let b:1 *: 2 *: EmptyTuple有类型Tuple(精化为Int *: Int *: EmptyTuple

它们是不同的类型,没有任何父关系。他们俩唯一拥有的是Product,他们都从Product.

但是我可以分配ab和相反的,为什么?

0 投票
0 回答
41 浏览

scala - 上下文绑定在特征上

我想做类似的事情

或者

换句话说,我希望 traitA能够“扩展” Copyable,或者只能与Copyable类型混合。

注意:理想情况下,foo应该有类型this.static_type(当前不存在),它代表this.