问题标签 [f-bounded-polymorphism]
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.
scala - 如何将 Int 转换为有序 (Scala)
我在 Scala 中声明了一个 Value 类:
类型约束 T <: Ordered[T] 的原因是我想将compare
Value 中的方法委托给value: T
.
然后是一个具体的 IntValue 为:
但是,当我尝试编译此代码时,我得到以下信息:''
我认为我应该在这里使用一些隐式转换,但我不清楚如何进行。
scala - 在理解 F-Bounded Polymorphism 的道路上
甚至在到达 F 有界多态性之前,我就已经很难理解支撑它的结构了。
这种结构似乎是一个微不足道的面向对象的事情,因为它也存在于 java 中,已经让我有点困惑了。
问题是当我看到这个 trait Contained extends Container[Contained]
时,感觉就像是一个无限类型的递归。
当我们定义类型 List 时,即使我们有Cons[A](a:A, tail:List[A])
,我们也有case object Nil
。所以递归可以以 Nil 结束。
但是在这里,我不明白我们如何不在无限递归中?以及为什么有效。
有人可以让我对此感到困惑吗?或者,如果有任何文档、博客或任何可以解释其工作原理或实现的东西。