gpt4 book ai didi

scala - 参数扩展类

转载 作者:行者123 更新时间:2023-12-03 01:40:18 26 4
gpt4 key购买 nike

我想做一个接受任何订单并打印更大内容的类。 (我只是在学习,所以我知道这有点没用)

class PrinterOfGreater[T extends Ordered](val a:T, val b:T){println(a > b)}

我知道在scala中不能用这种风格编写它,但我不知道如何正确编写它......有人知道吗?

为什么这不能编译?为什么字符串包装器是有序的

class PrinterOfGreater[T <: Ordered[T]](a:T, b:T){println(a > b)} 
object A extends Application{new PrinterOfGreater("abc","abd")}

最佳答案

关于你的第二个问题:String (在 Scala 中只是 java.lang.String ,至少在针对 Java/JVM 平台时)没有定义关系运算符 > 。但是,您可以通过替换 <: 来轻松适应这一点。与 <%它指定了所谓的 View 绑定(bind),意味着在 A <% BAB 的子类型或者范围内存在隐式转换,将产生 B当给出A时.

这适用于String因为 Scala 的标准库提供了从 String 到 RichString 的隐式转换。 (在 Scala 2.7 中)或 StringOps (在 Scala 2.8 中)定义了关系运算符

关于scala - 参数扩展类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2478025/

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