如何使用“>”方法为每种类型定义 max 函数?
是否可以在具有方法 >
(以及所有 AnyVals)的所有类型上通用地定义它,以便使用单个实现方法就足够了?
Is it possible to define it generically over all types which have a method >
(also all AnyVals) so that using a single implementation method is enough?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你可以声明一个隐式转换吗:
然后只使用 scalaz...
can you declare an implicit conversion:
and then just use scalaz...
标准库已经做到了这一点。但是,如果没有为具有
>
方法的对象分配类型...基本上,此语法适用于具有
>
方法的任何对象,或者某些隐式转换使 <代码>> 可用。它创建一个可以传递给标准max
方法的 Ordering。再举一个例子:
The standard library sort of does it already. But without assigning a type to the object having the
>
method...Basically this syntax will work for anything that has a
>
method or where some implicit conversion makes>
available. It creates an Ordering that can be passed to the standardmax
method.One more example:
排序特征可能是相关的。
它涵盖了标准数字类型(还有一些——请参阅“已知子类”)。隐式可用于跨外部类型“打开它”。
快乐编码。
The Ordering trait may be relevant.
It covers the standard numerical types (and then some -- see "Known Subclasses"). Implicits can be used to "open it up" across external types.
Happy coding.