首页 文章
  • 13 votes
     answers
     views

    Scala:类型类和ADT之间的区别?

    类型类和抽象数据类型之间有什么区别? 我意识到这对于Haskell程序员来说是一个基本的东西,但我来自Scala背景,并且会对Scala中的示例感兴趣 . 我现在能找到的最好的是类型类是“开放的”而ADT是“封闭的” . 将类型类与结构类型进行比较和对比也是有帮助的 .
  • 2 votes
     answers
     views

    Java,强类型,协方差和反差[关闭]

    在我的OOP课程中学习考试时,我遇到了一个问题,我得到了一个我并不理解的答案 . 问题如下(翻译): 编程语言“Sava”在各方面都与Java类似,除了以下内容: 它的结构类型 覆盖方法时,参数可以是逆变的,返回类型可以是协变的 . 鉴于以下类和接口,以下任务是否合法? interface I{ boolean equals(I i){…} } class C{ ...
  • 10 votes
     answers
     views

    OCaml,Scala和Go的结构类型实现

    在研究结构类型时,我发现以下帖子描述了how interfaces in Go are translated to method lookup tables at runtime . 帖子中描述的过程似乎与针对Scala的可选结构类型系统和Java语言的White Oak扩展所描述的reflective and generative techniques截然不同 . 是否有任何深入的资源讨论如何在...
  • 10 votes
     answers
     views

    Clojure协议与Scala结构类型

    在Clojure 1.2中观看了Protocols,并且对Clojure知之甚少之后,我对Clojure Protocols有一些疑问: 他们是否打算在Scala中执行与Structural Types相同的操作?协议对结构类型(性能,灵活性,代码清晰度等)有什么好处?它们是通过反思实现的吗? 与Scala的互操作性问题:可以使用协议代替Scala中的结构类型吗?它们可以在Scala中扩展...
  • 1 votes
     answers
     views

    Scala集合中的结构类型参数

    Disclaimer: 这是一个什么是 possible 的问题,而不是在实践中推荐的问题 . 假设您有以下课程: case class point1(x: Int, y:Int) case class point2(x: Int, y:Int) case class point3(x: Int, y:Int) 并且您有包含每个类的一些数量的列表 val points1 = List[point...
  • 2 votes
     answers
     views

    使用结构类型时出现意外错误

    我这是一个愚蠢的问题 . 我期待以下代码可以工作,因为 a 有一个 mkString 方法 . val a = "abc".toCharArray case class A[T: {def mkString(): String}](i: T) { val s = i.mkString } A(a) 但它给出了以下错误: 错误:(3,16)AnyRef {def mk...

热门问题