为什么 Int 不继承/扩展 Ordered[Int]

2024-02-03

我有一个关于字体设计的问题。为什么 Int 不扩展 Ordered 特征。 Int 不是天生有序的吗?

相反,scala 库提供了隐式“orderer”方法,将 Int 转换为 Ordered[Int]。这里做出了哪些设计选择?

示例取自《Scala 编程》一书

def maxListImpParm[T <% Ordered[T]](elements:List[T]):T= ...


maxListImpParm(List(1,5,10,3)) // works because of implicit methods

因为 Int (以及从 AnyVal 继承的其他一些类)是短暂的——在运行时它通常由原始值表示,而原始值根本没有类(以及继承)的概念。当然,也有例外,例如当您将项目放入集合中时,对完整的引用类实例进行 Int 装箱,但 typeclass 提供了一种通用解决方案。此外,类型类是比继承更灵活 https://stackoverflow.com/a/4513556/298389.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Int 不继承/扩展 Ordered[Int] 的相关文章

  • 我在 Scala 中将资源放在哪里?

    在学习使用 Scala 和 JavaFX 时 我在 a 中遇到了以下代码ProScalaFX 示例 https github com jpsacha ProScalaFX val resource getClass getResource
  • 副作用是纯函数中找不到的一切吗?

    可以肯定地说 以下二分法成立 每个给定的函数是 要么纯粹 或有副作用 如果是这样 函数的 副作用就是纯函数中找不到的任何东西 这很大程度上取决于您选择的定义 可以公平地说 函数是pure or impure 纯函数始终返回相同的结果并且不会
  • 如何在 Akka Stream 中记录流量?

    我有一个带有单个流 图的 Akka Stream 应用程序 我想测量源头的流量并每 5 秒记录一次 例如 在过去 5 秒内收到 3 条消息 我尝试过 someOtherFlow groupedWithin Integer MAX VALUE
  • 为什么调用 take() 方法时 Slick 会生成子查询

    I use Slick http slick typesafe com 1 0 0 RC1 我对表对象有这样的定义 object ProductTable extends Table Int String String String Dou
  • 如何在Dotty中使用given?

    我在看Dotty下的文档Contextual Abstractions页面 我看到了Given Instances 给定实例 或者简单地 给定 定义了 规范 值 用于合成给定子句的参数的某些类型 例子 trait Ord T def com
  • 哪些 ORM 与 Scala 配合得很好? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Java / Scala Future 由回调驱动

    简洁版本 我怎样才能创建一个Promise
  • Scala 集合不一致

    为什么 Scala Collections API 中的集合和列表之间缺乏一致性 例如 有不可变的 Set 但也有可变的 Set 如果我想使用后者 我可以简单地这样做 val set Set A set new A 但是 本身不存在可变列表
  • 逆变方法参数类型

    wiki 逆变方法参数类型 https en wikipedia org wiki Covariance and contravariance 28computer science 29 Contravariant method argum
  • Scala:具有复杂结构的树插入尾递归

    我正在 scala 中创建自定义对象树 并且我的插入方法引发堆栈溢出 因为它不是尾递归 但是 我不太清楚如何使其尾递归 我见过使用 累加器 变量的相关示例 但它们要么是只能相乘和覆盖的整数之类的东西 要么是我在适应树时遇到困难的列表 这是我
  • Scala 相当于 Java 的 Number

    我正在尝试为数值域类型构建类型层次结构 例如AYear is an Int 这是一个Number a Percentage is a Double 这是一个Number等等 我需要层次结构以便我可以调用toInt or toDouble关于
  • 最小重复子串

    我正在看 Perl代码高尔夫页面 http www perlmonks org node id 82878 不要问为什么 并遇到了这个 第 3 洞 最小重复图案 编写一个子例程 它接受一个字符串 该字符串可能包含 重复模式 并返回最小的重复
  • 如何从 SparkSQL DataFrame 中的 MapType 列获取键和值

    我的镶木地板文件中有数据 该文件有 2 个字段 object id String and alpha Map lt gt 它被读入 SparkSQL 中的数据帧 其架构如下所示 scala gt alphaDF printSchema ro
  • 阶乘的 Scala 排列

    我怎样才能找到n Scala 中某些字母的排列 Scala 2 9 RC1 scala gt abc permutations toList res58 List String List abc acb bac bca cab cba
  • 使用 Spray-json 解析简单数组

    我正在尝试 但失败了 了解 Spray json 如何将 json feed 转换为对象 如果我有一个简单的 key gt value json feed 那么它似乎可以正常工作 但是我想要读取的数据出现在如下列表中 name John a
  • Scala 如何忽略 Java 的检查异常?

    例如如果调用 JavaThread sleep这会抛出一个已检查的InterruptedException来自 Scala 源文件 然后不需要将调用包含在 Scala 中try catch Scala 如何删除将调用包围在 a 中的规则tr
  • 使用 Spark DataFrame 获取组后所有组的 TopN

    我有一个 Spark SQL DataFrame user1 item1 rating1 user1 item2 rating2 user1 item3 rating3 user2 item1 rating4 如何按用户分组然后返回TopN
  • Scala 和变量中的模式匹配

    我是 Scala 新手 有点想知道模式匹配是如何工作的 想象一下我有以下内容 case class Cls i Int case b Cls i gt Ok case e Cls gt Ok case f Cls gt Ok case s
  • Scala 模式匹配变量绑定

    为什么提取器返回时不能以 样式绑定变量Option
  • 对 Scala Not Null 特征的库支持

    Notice 从 Scala 2 11 开始 NotNull已弃用 据我了解 如果您希望引用类型不可为空 则必须混合魔法NotNull特征 编译器会自动阻止你输入null 可以值在里面 看到这个邮件列表线程 http www nabble

随机推荐

  • 无法绑定到“ngModel”,因为它不是“ion-select”的已知属性

    大家好 当我在产品版本中编译我的应用程序时 出现错误 无法绑定到 ngModel 因为它不是 ion select 的已知属性 My code
  • 对 SharePoint 列表的 CAML 查询返回整个集合

    我遇到了一个问题 如果我在 C 中执行 CAML 查询 我的 ListItemCollection 将包含整个列表 这是一个片段 我擦洗过的代码也许你可以看到我做错了什么 在调试时 我发现生成的 XML 正是我所期望的从文件读取的值 似乎有
  • 在函数中包含库调用?

    将执行该函数所需的每个库包含在该函数中是一个好习惯吗 例如我的文件global r包含我需要一个闪亮的应用程序的几个功能 目前我在文件顶部有所有需要的包 当我切换项目 复制这些函数时 我必须加载包 将它们包含在新代码中 否则 所有需要的包都
  • extjs 5网格的滚动条在边框布局面板中不起作用

    在边框布局面板中 即使网格存储足够长 导致网格溢出 网格的滚动条也无法正常工作 如果我的网格位于无边框布局面板中 则滚动条是可以的 但是当我将网格放入边框布局面板中时 要么没有滚动条 要么有无效的滚动条 what i want is to
  • 在 VS 中发布网站时@import“theme.css”不起作用

    我有一个网站 它依赖于 jquery ui theme css 的一些 css 样式 当我在本地运行我的项目时 这工作正常 但是当我发布和部署时 这些特定的样式不会被选择 例如 当我在本地检查对话框关闭按钮时 它会显示标准的十字图像 但在发
  • sql server:必要时在外键上创建索引

    我有很多带有外键的表 有些有索引 而另一些则没有 所有外键均已命名FK
  • th:复选框中字段属性的值

    我有一个包含数据库数据的表 动态插入 在一列中我插入复选框 现在我想选择其中一个并发送到下一个表单 我选择一个产品并将属性发送到另一个表单 在此表单中应仅显示所选产品的属性 但我不知道 th field 中插入什么样的值 我尝试了很多解决方
  • 安排连续气流 DAG 运行

    有没有办法循环运行气流 DAG 当尝试创建一个循环 将最后一个组件连接到最后一个组件的上游 时 我收到 在 DAG 中检测到循环 错误任务 一般来说 我有一个简短的 3 个 BashOperator 组件流程 我想连续运行它们 从最后一个组
  • 类型错误:jQuery.browser 未定义

    我正在使用 jquery mobile 1 4 2 和脚本 1 11 0 我已经阅读过之前提出的有关此问题的问题 但我不知道如何在我的代码中使用 这是我的代码 script jQuery input name cat bind jQuery
  • ActionBar Compat 的自定义(渐变)背景

    我正在使用 Action Bar Compat 以便我的带有导航抽屉的操作栏向后兼容至 API 级别 9 并且我想更改操作栏的背景 我复制了代码安卓开发者 https developer android com training basic
  • 如何在 ruby​​ on Rails 中通过 websocket 发送保活数据包

    我想发送一个 与客户保持联系 我的 websocket 连接每 30 秒发送一条消息 我的 websocket 初始化程序中的代码如下所示 ws WebSocket Client Simple connect wss bitcoin tos
  • 使用 C++ 的 STL 进行 i 阶统计

    给定一个空数组 我需要进行两种类型的查询 向数组中插入一个元素 查找某个元素的索引k 显然数组必须保持排序 这可以通过使用来完成set容器 set
  • ionic cordova 构建 android --prod 时出错

    致命错误 CALL AND RETRY LAST 分配失败 JavaScript 堆内存不足 运行命令时出错 ionic cordova 构建 android prod Note that 离子构建安卓 离子运行安卓 and 离子服务一切正
  • 在一行中缓存一个中间变量

    我可以以某种方式缓存i toString在这个简单的函数定义中 def palindrome i Int i toString i toString reverse 我想让这个函数保持简单 没有经典的多行 大括号括起来的函数 你可以这样做
  • 扩展 UIComponentBase 时如何保存状态

    我正在创建一个复合组件 它将包装数据表以实现非常简单的分页 我需要在 ajax 请求之间保存状态 当前页码 我尝试在 FacesComponent 中创建字段 但发现它们在 JSF 生命周期中被删除 FacesComponent value
  • 使 CSS 三角形垂直重复(锯齿图案)

    我有这样的导航 我想要 gt gt gt gt gt 我认为将其作为单独的 div 来完成是最简单的 第二个只关心沿着导航长度重复一个模式 我在这里寻求帮助 但我发现的大多数文章都是关于水平重复三角形的 我喜欢这个解决方案http jsfi
  • whoosh 是否要求所有字符串都是 unicode ?

    我正在 Solr 的 Whoosh 中重做我的搜索应用程序 我现在正在学习快速开始 但每次我不得不处理字符串时我都会遇到问题 gt gt gt writer add document iden fil content F2T file to
  • WSO2 ESB 4.9.0:错误 101500 意味着什么

    在连接到服务器时 我们会收到如下错误
  • VBA AddressOf 崩溃 Office 应用程序

    我想运行一个简单的代码片段 但每次 Access 和 Excel 都会崩溃 我正在运行回调测试 2 您能帮我一下吗 多谢 Declare Function CallWindowProc Lib user32 Alias CallWindow
  • 为什么 Int 不继承/扩展 Ordered[Int]

    我有一个关于字体设计的问题 为什么 Int 不扩展 Ordered 特征 Int 不是天生有序的吗 相反 scala 库提供了隐式 orderer 方法 将 Int 转换为 Ordered Int 这里做出了哪些设计选择 示例取自 Scal