为什么 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] 的相关文章

随机推荐

  • 无法绑定到“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