scala案例类问题

2024-04-25

我有两个关于“::”案例类的问题。

:: 可以用作

case head :: tail => ...

它是如何工作的?意思是,Scala 用于将 List 实例与 :: case 类进行匹配的流程到底是什么?鉴于我有一个类 MyClass,带有运算符 op,我可以创建一个名为 op 的案例类,我可以将其用作:

case foo op bar => ....

?


     scala> abstract class Stack {
     |     def push(n :Int):Stack
     | }
      defined class Stack

     scala> final case class push(st :Stack,hd :Int) extends Stack {
     |     override def push(n :Int):Stack = new push(this,n)
     | }
     defined class push

     scala> object NullStack extends Stack {
     |     override def push(n :Int):Stack = new push(null,n)
     | }
     defined module NullStack

     scala> val s = NullStack.push(1).push(2)
     s: Stack = push(push(null,1),2)

     scala> def test(s :Stack) = s match { case st push i => println(st +"push " + i) }
     test: (Stack)Unit

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

scala案例类问题 的相关文章

  • Spark:出现心跳错误后丢失数据

    我有一个在 Spark 集群上运行的 Python 程序 有四个工作线程 它处理一个包含大约 1500 万条记录的巨大 Oracle 表 检查结果后发现大约有600万条记录没有插入 我的写入功能如下 df write format jdbc
  • 如何将模型从 ML Pipeline 保存到 S3 或 HDFS?

    我正在尝试保存 ML Pipeline 生成的数千个模型 正如答案中所示here https stackoverflow com questions 32121046 run 3000 random forest models by gro
  • 如何从字符串列中提取数字?

    我的要求是从列中的评论列中检索订单号comment并且总是开始于R 订单号应作为新列添加到表中 输入数据 code id mode location status comment AS SD 101 Airways hyderabad D
  • 如果所有情况都是真正的 PHP,如何处理这些情况

    我想知道是否有办法继续完成所有三种情况 如果它们都是真的 但是使用break 因为作为一个例子 如果第一种情况是真的 第二种情况是假的 第三种情况也是假的 而且我没有使用break 无论如何它都会进行 将strtotime更改为2014年1
  • 非静态字段、方法或属性需要对象引用

    我知道人们以前问过这个问题 但场景太具体 我对基本原理感到困惑 我有两个基本版本的 C 程序 一种有效 一种无效 如果有人能解释为什么我收到错误 我会很高兴非静态字段 方法或属性需要对象引用在第二个程序中 Works namespace E
  • 如何为带有继承的 C++ 类编写 C 包装器

    我只是想知道是否有一种方法可以为具有继承的 C 类创建 C 包装 API 考虑以下 class sampleClass1 public sampleClass public int get return this data 2 void s
  • Scala 的代码覆盖率工具 [关闭]

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

    事情是这样的 我有一个名为 A 的主课 我希望这个班级能够扩展 B 级 class A extends B 但事实上 我希望 B 类在特定条件下扩展 C D 或 E class B extends B1 or class B extends
  • 具有上限的联合类型

    我正在遵循这个问题的公认答案中提出的技术如何定义 类型析取 联合类型 https stackoverflow com questions 3508077 does scala have type disjunction union type
  • 类、模块、它们的特征类和方法查找

    我们来开公开课吧Module并向其中添加一个方法 class Module def foo puts phew end end 我可以通过这样做来调用这个方法 Class foo 这是可以理解的 因为类Class is Class 其超类是
  • 创建 OpenCV 的 mouseCallback 函数的基于类的实现时遇到问题

    正如标题所示 我在基于类的 C 结构中实现 OpenCV 的 mouseCallback 函数时遇到了一些麻烦 请允许我解释一下 我定义了一个名为 BriskMatching 的类 在其中创建了一个名为 mouseCallback 的成员函
  • C++类名冲突

    我现在正在做一个项目 需要整合两个子项目 项目A是用C 编写的 项目B是用C编写的 一个问题是 在项目B中 有一个名为vector它是由其作者创建的 在项目 A 中 std vector in STL用来 因为项目B以后可能会更新 所以我不
  • Scala:什么是 CompactBuffer?

    我试图弄清楚 CompactBuffer 的含义 和迭代器一样吗 请解释其中的差异 根据 Spark 的文档 它是 ArrayBuffer 的替代方案 可以提供更好的性能 因为它分配的内存更少 以下是 CompactBuffer 类文档的摘
  • Slick和bonecp:org.postgresql.util.PSQLException:FATAL:抱歉,太多客户端已经错误

    当我在本地开发应用程序时 我使用以下命令启动我的 play2 应用程序sbt run 我喜欢如何更改代码 然后重新加载浏览器以查看我的更改 在大约 10 次代码更改之后 我收到 postgresql 太多连接错误 见下文 我的数据库连接使用
  • 选定的非聚合值必须是关联组的一部分

    我在 Teradata 中有两个表 Table A 和 Table B 它们之间是 LEFT JOIN 之后我将创建 SELECT 语句 其中包含两个表中的属性 SELECT attribute 1 attribute 2 attribut
  • 解决“Show”类型类实例的隐式问题

    我正在努力使Gender实施Show类型类 scala gt trait Gender extends Show Gender defined trait Gender scala gt case object Male extends G
  • AppDelegate 的变量用作全局变量不起作用

    我想使用我的 AppDelegate 来存储任何其他类都可以访问的对象 我已经像这样声明了这个 AppDelegate interface MyAppDelegate UIResponder
  • scala 提供类似 C++ 模板的东西吗?

    我来自 C 并试图了解 scala 的类型系统 考虑以下 C 模板类 template
  • 删除向量类成员

    我有一个 A 类 其成员是另一个 B 类的对象指针向量 class A std vector
  • IntelliJ:线程“主”java.lang.NoClassDefFoundError中的异常:org/apache/spark/sql/types/DataType

    附言 有一个类似的问题here https stackoverflow com questions 40287289 java lang noclassdeffounderror org apache spark logging 但那是在

随机推荐

  • 如何告诉 TypeScript 对象中的可选属性存在并已设置?

    我有以下代码 interface First propertyA string Here propertyA is optional Imagine that this interface came from external librar
  • 使 viewcode 显示模块源

    我正在尝试使用 Sphinx 用一些 Python 片段制作一本食谱 每个片段都是一个独立的 Python 脚本 并且有一个教程类型的文档 我希望在生成的文档中有一个源链接来显示脚本内容 但viewcode https www sphinx
  • 原则 2 - ManyToMany + IN 子句

    我有这个模型 Entity Table name articles class Article Id GeneratedValue Column type integer protected id Column type string le
  • 平假名到汉字转换器

    你知道 C 中是否有一个库或字典可以帮助我将平假名翻译成汉字吗 我知道 Windows 有 IME 但我想完全自定义给定平假名的汉字候选列表的设计 但使用此 IME 是不可能的 示例 用户写 toru 首先将其翻译为平假名 我想要这个选择列
  • 有脚本模拟控件、按键序列吗?

    我搜索并发现我可以使用 jQuery 模拟按键事件 但我对 jQuery 的了解很差 而且我不知道具体是如何实现的 So I have a Greasemonkey script which manages 2 different webp
  • 在 Access 2007 中使隐藏的窗体再次可见

    如果使用 acHidden 打开表单 是否可以使用 VBA 使其再次可见 我已经四处搜索 但只能找到有关如何首先打开隐藏表单的信息 我知道该怎么做 您可以设置可见属性 Forms MyForm Visible True
  • 如何仅通过鼠标使用 javafx 在表格视图中选择多个单元格?

    我有一个在 javafx 中带有表格视图的应用程序 我想仅通过鼠标选择多个单元格 类似于 Excel 中存在的选择 我尝试过 但我不能做某事 这个问题的正确答案在这里https community oracle com thread 262
  • ASP.Net Identity 2,双因素安全代码时间跨度

    我们通过电子邮件将 2FA 与 ASP Net Identity 2 结合使用 这在大多数情况下工作正常 但在某些情况下 安全代码发送到用户电子邮件时会出现延迟 安全代码的 6 分钟窗口就会变得太短 有没有办法调整 2FA 代码的时间窗口
  • 错误“标记不是预处理器子表达式中的有效二元运算符”

    如果我构建并运行一个项目 基本上是由 Mac OS 10 6 上的 Qt 框架生成的存根 我会得到以下错误输出 Users home Qt5 0 1 5 0 1 clang 64 include QtCore qisenum h 53 Er
  • Ghostscript 9.07:PDF/X-1a:2001:缺少 PDF/X 输出意图

    您能告诉我如何嵌入 PDF X 输出意图吗 当我检查预检时 我报告 PDF X 1a 2001 PDF 文件中缺少 PDF X 输出意图 PDF 文件中遇到的问题 1 PDF X 1a 2001 PDF X version is not P
  • VS2017 构建失败 - DOCKER_REGISTRY

    我正在开始使用 Docker 并熟悉 NET Core 和 Visual Studio 2017 我创建了一个名为 WebApplicationCore21 的新 Web 应用程序 Razor Pages 并启用了 Docker 支持 并立
  • 复制延迟 - 超过 max_slot_wal_keep_size,WAL 段未删除

    Summary 我们正在使用max slot wal keep size来自 PostgreSQL https www postgresql org docs current runtime config replication html1
  • Ember.js - 根据对象属性更新 CSS 宽度

    正如中提到的 安多罗夫的回答 https stackoverflow com a 32593118 565877 OP的理想代码 div style width 1 现在从 Ember 1 10 开始几乎可以正常工作 我是 Ember js
  • 在项目之间共享 ASP.NET MVC 部分视图

    在应用程序之间共享公共部分视图的最佳方式是什么 我创建了一个单独的程序集 其中包含 ascx 文件中的部分视图 一些与该视图配合使用的脚本以及一个 HtmlHelper 扩展方法 以便更轻松地创建部分视图 但是 当从 ASP NET MVC
  • TensorFlow 数据集的函数 cache() 和 prefetch() 有何作用?

    我正在关注 TensorFlow图像分割 https www tensorflow org tutorials images segmentation教程 其中有以下几行 train dataset train cache shuffle
  • Django REST Framework 分页链接不使用 HTTPS

    我正在为某个运行良好的 DRF 端点设置分页 但是 当部署在使用 HTTPS 的服务器上时 下一页和上一页的链接是通过http 代替https 这会导致浏览器阻止对下一页 上一页的请求 我已经仔细检查了初始请求是否已通过 HTTPS 发出
  • Android Studio 中的“应用更改”按钮被禁用(灰色)

    我已将项目的 minSdkVersion 设置为 19 并启用 Instant Run 我已在运行 API 21 的设备中部署了该应用程序 但 应用更改 按钮呈灰色 当我将鼠标悬停在该按钮上时 它显示 No Active App launc
  • 如何禁用 django 中应用程序的一种模型的迁移

    我有一个使用 2 个数据库的应用程序 1 个是默认数据库 另一个是自定义数据库 所以我的模型中有两个使用默认数据库 其他模型使用自定义数据库 我不想在运行 make migrations 命令时迁移自定义数据库模型 请帮忙 您可以通过设置选
  • 使用 NAN 替换强制转换非数字 numpy 数组

    考虑数组 x np array 1 2 a 绑定转换为浮点数组会引发异常 x astype np float ValueError could not convert string to float a numpy 是否提供任何有效的方法将
  • scala案例类问题

    我有两个关于 案例类的问题 可以用作 case head tail gt 它是如何工作的 意思是 Scala 用于将 List 实例与 case 类进行匹配的流程到底是什么 鉴于我有一个类 MyClass 带有运算符 op 我可以创建一个名