识别并描述 Scala 的泛型类型约束

2024-01-08

我见过<:, >:, <%等等。有人可以给出(或找到)这些的一个很好的描述吗?可能的限制是什么,它们有什么作用,以及何时使用它们的示例是什么?


S <: T意思是S是一个子类型T。这也称为类型上限 http://www.scala-lang.org/node/136。相似地,S >: T意思是S是一个超类型T, a 下限类型 http://www.scala-lang.org/node/137.

S <% T是一个视图边界,并表示S必须配备view http://www.scala-lang.org/node/130将其值映射为 type 的值T.

这对我来说也很困惑,而且我拥有伯克利的编程语言硕士学位。

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

识别并描述 Scala 的泛型类型约束 的相关文章

  • Scala:在运行时获取 mixin 接口

    我需要在运行时从给定的类获取所有接口 全部加载在类加载器中 例如 如果一个类是这样声明的 trait B trait C trait D class A extends B with C with D 我想在运行时获取这些信息 A 取决于
  • Scala 性能问题

    In the 丹尼尔 科泽夸 Daniel Korzekwa 撰写的文章 http blog danmachine com 2011 01 moving from java to scala one year html 他说以下代码的性能
  • 了解如何使用 apply 和 unappy

    我试图更好地理解 的正确用法apply and unapply方法 考虑到我们想要序列化和反序列化的对象 这是正确的用法吗 即斯卡拉方式 的使用apply and unapply case class Foo object Foo appl
  • 自定义 NIO 文件系统无法通过 SBT 的测试任务加载

    为了进行测试 我使用内存中的 NIOFileSystem执行 memoryfs https github com openCage memoryfs 我以前已经利用过它 并且它似乎运行良好 例如梅文 然而 现在 在SBT项目中 不可能初始化
  • 新式(“内联”)宏需要 scala.meta

    我刚刚更新到 scala meta 2 0 0 M1 和最新的 scala 2 12 3 现在宏不再编译 我所做的唯一更改是将元版本从 1 8 0 更改为 2 0 0 M1 错误 新式 内联 宏需要 scala meta 有谁知道是否有快速
  • Scala:具有复杂结构的树插入尾递归

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

    假设我运行 Scala 2 8 0 RC1 以下 scala 代码应该打印出文件 c hello txt 的内容 for line lt Source fromPath c hello txt getLines println line 但
  • Scala:类似 Option (Some, None) 但具有三种状态:Some、None、Unknown

    我需要返回值 当有人询问值时 告诉他们以下三件事之一 这是值 没有价值 我们没有关于该值的信息 未知 情况 2 与情况 3 略有不同 示例 val radio car radioType 我们知道该值 返回无线电类型 例如 pioneer
  • Scala 如何忽略 Java 的检查异常?

    例如如果调用 JavaThread sleep这会抛出一个已检查的InterruptedException来自 Scala 源文件 然后不需要将调用包含在 Scala 中try catch Scala 如何删除将调用包围在 a 中的规则tr
  • Java 表达式树 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有相当于 net的 LINQ 下的表达式树JVM 我想实现一些类似 LINQ 的代码结构Scala
  • 在 Scala 和 SBT 中调试较长的编译时间

    在我的 Scala SBT 项目中 我有一个文件需要 5 分钟才能编译 所有其他的都可以在几秒钟内编译 这使得开发非常痛苦 我确信我滥用了一些 Scala 构造 但我不知道如何调试它 如何在 Scala 中调试较长的编译时间 我正在使用 S
  • 为什么《Scala 中的函数式编程》一书的“无异常处理错误”一章中没有提到“scala.util.Try”?

    在 Scala 中的函数式编程 一书中的 无异常处理错误 一章中 作者给出 从函数体抛出异常的问题 Use Option如果我们不关心实际的异常 Use Either如果我们关心实际的异常 But scala util Try没有提到 从我
  • 如何使用用户输入变量作为通用包的参数?

    In Stack adb我指定了两个参数 大小和类型 我想创建一个堆栈 该堆栈的数据类型与用户在我的堆栈中指定的数据类型完全相同multistack adb file 我似乎找不到一种方法来创建新的包或使用用户定义的堆栈类型变量来实例化堆栈
  • Java - 为什么不允许 Enum 作为注释成员?

    It says 原始 String Class an Enum 另一个注释 上述任何一个的数组 只有这些类型才是合法的 Annotation 成员 为什么泛型 Enum 不能成为 Annotation 的成员 例如 Retention Re
  • 类型级编程有哪些示例? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我不明白 类型级编程 是什么意思 也无法使用Google找到合适的解释 有人可以提供一个演示类型级编程的示例吗 范式的解释和 或定义将
  • Mockito.any() 通过泛型接口

    是否可以通过泛型传递接口的类型 界面 public interface AsyncCallback
  • Scala 特性:val/def 和 require

    下面的代码抛出IllegalArgumentException trait T val x Long require x gt 0 object T extends App val y new T val x 42L 而以下情况则不然 tr
  • Scala 解析器组合器的运算符优先级

    我正在研究需要考虑运算符优先级的解析逻辑 我的需求并不太复杂 首先 我需要乘法和除法比加法和减法具有更高的优先级 例如 1 2 3 应视为 1 2 3 这是一个简单的例子 但你明白了 我需要将更多自定义标记添加到优先级逻辑中 我可以根据此处
  • 分析 sbt 构建

    我的 sbt 构建需要很长时间 它又大又复杂 很难知道从哪里开始清理 看起来 sbt 保留了很多关于构建结构的元数据 包括相互依赖关系 命名任务 范围界定等 有了所有这些元数据 似乎很容易跳入并测量每个不同任务 及其范围 花费的时间 在代码
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary

随机推荐

  • 如何检测手机后退按钮是否被按下

    Please how can I detect if the back button is been pressed in a mobile phone as shown in the image below 我尝试使用在桌面上完成的正常方
  • 使用 Python 的 P2P RDP

    我想用 Python 编写一个简单的 P2P RDP 客户端和服务器 这就是我绘制草图的方式 短时间截屏 压缩它们并发送到服务器应用程序 从服务器应用程序获取键盘 鼠标事件 将它们序列化并发送给客户端 客户端将反序列化它们并使用 SendI
  • Android - Java 使用带有 DefaultHapiContext 的 HAPI v 2.2 解析 HL7 消息

    我在尝试解析 HL7 消息时收到此错误 我不知道为什么以及如何解决它 我正在使用 hapi v2 2 所以请帮助我 提前致谢 这是目录 08 28 15 03 28 552 E dalvikvm 642 Could not find cla
  • vue cli 项目中的 Favicon 未更改

  • 如果调用 http.Get(url) 时发生错误,我们是否需要关闭响应对象?

    在以下代码中 是否还需要在错误情况下关闭响应正文 res err http Get url if err nil log Printf Error s n err defer res Body Close 一般概念是 当一个函数 或方法 有
  • 无法实例化服务:ClassNotFoundException

    我读过大约一百个同一类别的问题 但没有一个有帮助 我有一个工作应用程序 然后重构了包名称 然后编译并运行 一周后 我回来处理它 并在启动时收到 ClassNotFoundException 更糟糕的是 如果我从存储库中签出之前的提交 在任何
  • Ember.js 中的“动态段”?

    在整个 Ember js 文档中 人们发现了这样一个概念 动态段提及在几个地方 https www google de search q site 3Aemberjs com 22dynamic segment 22 这是什么意思 使用适当
  • Swift 3 声音播放

    好吧 我已经研究过这个问题 并尝试了许多不同的方法来在单击按钮时播放声音 在 swift 3 中单击按钮时如何播放声音 我的声音位于名为 Sounds 的文件夹中 名称为 ClickSound mp3 该功能下的用户 MARK PLAY S
  • 在php中的目录中查找特定的文件类型,并在转换后将其发送到不同的目录

    我有一个目录 其中有一个mp4 file 也包括其他文件 我想转换成mp3然后将其发送到不同的目录 我用过以下命令行命令转换成mp3 它工作得很好 ffmpeg i 36031P mp4 map 0 2 ac 1 floor english
  • ICS 不更新组织者日历

    我正在编写一个应用程序 它将发送主要由 Outlook 解释的 ics 文件 当我的应用程序发送更新时 它将成功更新除组织者日历之外的每个人的日历 我使用相同的 UID 并且每次都会递增 SEQUENCE 我的 ICS 文件中是否还缺少其他
  • Oracle + JPA - 使用 INTERVAL 进行查询

    我的数据库表中有一个时间戳列 LASTUPDATED 我通过轮询来决定是否应更新某行 如果记录在过去 10 分钟内没有更新 我会更新它 我想将日期处理委托给数据库 但以下方法均无效 这个说 意外的标记 靠近 Query query enti
  • 如何在选择选项中使用复选框

    客户给了我一个设计 其中有一个选择选项菜单 其中包含一个复选框以及作为列表中单独项目的项目名称 是否可以在 选择选项 菜单中添加一个复选框 注意 开发人员需要添加自己的 id 才能使菜单生效 如果可能的话 我只需要 HTML CSS 代码
  • 为特定密码启用 TLS 1.2

    我们有一个 NET 应用程序调用仅允许 TLS 版本 1 2 的 API 服务器 2008 SP2 我们在服务器上运行以下脚本 Copyright 2016 Alexander Hass http www hass de content s
  • Google PHP 客户端不会验证代码,invalid_request

    我正在使用 Google PHP 客户端 4ae272683e18888362e1f935b813e345b99e23b8 该客户端于 8 月 9 日从 github 中提取 我觉得我的代码太简单了 不会出错 require once Go
  • Set 如何检查重复项? Java哈希集

    对于下面的代码 它输出 1 第二个代码输出 2 我不明白为什么会发生这种情况 是因为我添加了相同的对象吗 我应该如何实现所需的输出2 import java util public class maptest public static v
  • 自定义检查器将值恢复为 Unity 中 Play 上之前的值

    所以在我的游戏中我有一个需要平滑移动的对象Vector3 fromPosition to Vector3 toPosition高速float speed 然后返回到开始的地方 一切都非常简单 但是为了在设置关卡时尝试让生活变得更轻松 我决定
  • 如何使用 Python 3.6 发送电子邮件附件

    你介意帮我一下吗 我使用此页面中的所有代码如何使用Python发送电子邮件附件 https stackoverflow com questions 3362600 how to send email attachments with pyt
  • 如何使用http header发送http请求

    提前致谢 我使用此代码在 http 请求中设置 http 标头来验证 url 但我认为缺少一些东西 这就是为什么我无法得到回复 回应仍然是 需要授权 httpParameters new BasicHttpParams String aut
  • 为 iFrameExtractor 编译 ffmpeg 时出现问题

    我正在尝试使用 make 和 build 文件来编译 ffmpegiFrameExtractor 示例 https github com lajos iFrameExtractor 首先我尝试遵循 github 上的自述文件 该文件只说运行
  • 识别并描述 Scala 的泛型类型约束

    我见过 lt gt