Scala 点语法(或缺乏)

2023-11-27

我正在翻阅这本精彩的书Scala 编程当我遇到一段对我来说没有意义的代码时:

def above(that: Element): Element = {
    val this1 = this widen that.width
    val that1 = that widen this.width
    elem(this1.contents ++ that1.contents)
}

注意第 2 行和第 3 行:

val this1 = this widen that.width 

看来我应该能够将其替换为:

val this1 = this.widen that.width

但是,当我尝试编译此更改时,会出现以下错误:

错误: ';'预期但“。”成立。
val this1 = this.加宽 that.width ^

为什么这种语法不可接受?


第2行使用方法widen作为运算符,而不是像 Java 那样将其用作方法:

val this1 = this.widen(that.width)

发生错误的原因是您遗漏了括号,而只有在使用运算符表示法中的方法时才能执行此操作。你can't例如这样做:

"a".+ "b" // error: ';' expected but string literal found.

相反你应该写

"a".+ ("b")

实际上你可以用整数来做到这一点,但这超出了这个问题的范围。

阅读更多:

  • 你的书的第 5 章第 3 节是关于运算符符号的,至少在第一版,第 5 版中是这样的
  • Scala 之旅:运算符
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Scala 点语法(或缺乏) 的相关文章

  • 禁用 Eclipse Java 调试器的热代码替换 [重复]

    这个问题在这里已经有答案了 可能的重复 如何在 Eclipse 中禁用热代码替换 https stackoverflow com questions 2594408 how do i disable hot code replace in
  • 如何在spring mvc中从控制器名称+操作名称获取映射的URL?

    是否有现有的解决方案可以从 Spring MVC3 中的 控制器名称 操作名称 获取映射的 URL 例如 asp net mvc 或 Rails 中的 UrlHelper 我觉得非常有用 thx 也许 你想要这样的东西 in your Co
  • 对话框上的 EditText 不返回任何文本

    我太累了 找不到错误 我没有发现任何错误 但我没有从 editText 收到任何文本 请看下面的代码 活动密码 xml
  • Grails 2.3.0 自动重新加载不起作用

    我最近将我们的项目升级到 grails 2 3 0 一切工作正常 除了每当我更改代码时自动重新加载都无法工作的问题 这包括所有项目工件 控制器 域 服务 gsps css 和 javascript 文件 我的旧版本 grails 可以正常工
  • eclipse中导入项目文件夹图标

    我在 Eclipse 工作区中新导入的 Maven 项目有J and M项目文件夹顶部的图标 项目和包资源管理器 而其他导入的 Maven 项目只有一个J icon 有人可以解释其中的区别吗 该项目有J装饰器被称为 Java 项目和具有M装
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • 记录骆驼路线

    我的项目中有几个 Camel 上下文 如果可能的话 我想以逆向工程方式记录路线 因为我们希望保持与上下文相关的文档最新 最好的方法是什么 我们倾向于预先实际设计路线 并使用来自EIP book http www eaipatterns co
  • 内存一致性 - Java 中的happens-before关系[重复]

    这个问题在这里已经有答案了 在阅读有关内存一致性错误的 Java 文档时 我发现与创建 发生 之前 关系的两个操作相关的点 当语句调用时Thread start 每个具有 与该语句发生之前的关系也有一个 与 new 执行的每个语句之间发生的
  • 计算日期之间的天数差异

    在我的代码中 日期之间的差异是错误的 因为它应该是 38 天而不是 8 天 我该如何修复 package random04diferencadata import java text ParseException import java t
  • 如何记录来自 Akka (Java) 的所有传入消息

    在 Scala 中 您可以使用 LoggingReceive 包装接收函数 如何通过 Java API 实现相同的目标 def receive LoggingReceive case x do something Scala API 有Lo
  • Spring Security OAuth2简单配置

    我有一个简单的项目 需要以下简单的配置 我有一个 密码 grant type 这意味着我可以提交用户名 密码 用户在登录表单中输入 并在成功时获得 access token 有了该 access token 我就可以请求 API 并获取用户
  • Slick:将操作与 DBIOAction 的 Seq 组合起来

    我有 工作 以下代码 val actions for lt slickUsers insertOrUpdate dbUser loginInfo lt loginInfoAction lt slickUserLoginInfos DBUse
  • 逃离的正确方法是什么?使用 Oracle 12c MATCH_RECOGNIZE 时 JDBCPreparedStatement 中的字符?

    以下查询在 Oracle 12c 中是正确的 SELECT FROM dual MATCH RECOGNIZE MEASURES a dummy AS dummy PATTERN a DEFINE a AS 1 1 但它不能通过 JDBC
  • 无法捕获 Spring Batch 的 ItemWriter 中的异常

    我正在编写一个 Spring Batch 流程来将数据集从一个系统迁移到另一个系统 在这种情况下 这就像使用RowMapper实现在传递给查询之前从查询构建对象ItemWriter The ItemWriter称为save我的 DAO 上的
  • 对象锁定私有类成员 - 最佳实践? (爪哇)

    I asked 类似的问题 https stackoverflow com questions 10548066 multiple object locks in java前几天 但对回复不满意 主要是因为我提供的代码存在一些人们关注的问题
  • JVM:是否可以操作帧堆栈?

    假设我需要执行N同一线程中的任务 这些任务有时可能需要来自外部存储的一些值 我事先不知道哪个任务可能需要这样的值以及何时 获取速度要快得多M价值观是一次性的而不是相同的M值在M查询外部存储 注意我不能指望任务本身进行合作 它们只不过是 ja
  • 挂钩 Eclipse 构建过程吗?

    我希望在 Eclipse 中按下构建按钮时能够运行一个简单的 Java 程序 目前 当我单击 构建 时 它会运行一些 JRebel 日志记录代码 我有一个程序可以解析 JRebel 日志文件并将统计信息存储在数据库中 是否可以编写一个插件或
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • 在哪里存储 Java 的 .properties 文件?

    The Java教程 http download oracle com javase tutorial essential environment properties htmlon using Properties 讨论如何使用 Prop
  • Android 和 Java 中绘制椭圆的区别

    在Java中由于某种原因Ellipse2D Double使用参数 height width x y 当我创建一个RectF在Android中参数是 left top right bottom 所以我对适应差异有点困惑 如果在 Java 中创

随机推荐

  • 如何通过 URL 下载文件并获取其名称

    这是我用 JS jQuery 制作的用户脚本 我想知道是否可以根据给定的 URL 找到文件名 它的形式如下 http example org download php action download id 1234 然后该链接会下载一个文件
  • java每秒运行一次循环

    int delay 1000 delay for 1 sec int period 10000 repeat every 10 sec Timer timer new Timer timer scheduleAtFixedRate new
  • 可以从 Android SQLiteConstraintException 获取具体的错误详细信息吗?

    对于某些数据 我收到以下错误 并且概念足够清晰 android database sqlite SQLiteConstraintException FOREIGN KEY constraint failed code 787 但是 这并不能
  • “BigInteger”的“bitCount()”和“bitLength()”有什么区别

    的描述位计数 and 位长度 相当神秘 公共整数bitCount 返回此 BigInteger 的二进制补码表示形式中与其符号位不同的位数 当在 BigIntegers 上实现位向量样式集时 此方法非常有用 返回 此 BigInteger
  • 在添加现有键的同时更新 python 字典?

    我正在寻找最有效和Pythonic 主要是有效 的方法来更新字典 但如果存在现有键 则保留旧值 例如 myDict1 1 3 2 3 2 1 2 3 1 myDict2 4 5 2 5 2 4 2 5 4 myDict1 update my
  • 在 jQuery 1.7 中取消选中复选框的正确方法是什么?

    我正在从 jQuery 1 5 1 升级 我已经阅读了使用 检查 复选框 在 1 6 中 的 新 方法 prop checked true 但是删除复选框的正确 首选方法是什么 这两种方法似乎都有效 someSelector removeP
  • 调试器中的 Step Into 和 Step Over 有什么区别

    我想调试 Java 程序的整个流程 我看到有几种选择stepping通过我的程序 有什么区别步入 and 跨过去 考虑以下带有当前指令指针的代码 接下来将执行的行 由 gt 在f x 线路输入g 被称为g 2 线路输入main public
  • RestSharp - 令牌身份验证

    我正在尝试发送带有令牌身份验证的 GET 请求 但收到未经授权的响应 如果我在邮递员上发送相同的请求 它就会起作用 这是我的代码 string url string Format 0 batchs MyUrl RestClient clie
  • 如何在rabbitmq中池化通道?

    我一直在尝试在线程之间共享连接 并仅在线程创建时打开通道 但经过更多研究后 我想我也想尝试connection pooling 我怎样才能在rabbitmq上做到这一点 或者这是我可以普遍应用的一般想法 我的目标是生成 X 个线程 然后让它
  • MongoDB 和 Java 驱动程序:查询中“忽略大小写”

    这是我现在使用的代码 如何添加 忽略大小写 属性 DBObject query new BasicDBObject prop value Thanks 当我遇到确切的问题时 我无法通过忽略大小写来查询 我最终复制了我想要搜索的值并将其标准化
  • 将事件侦听器作为 Class.prototype 函数删除

    我试图在我的项目中有一个基于 Class prototype 的类 但我没有内联函数 考虑到这个例子 不可能删除事件监听器myVideo我在课堂上拥有的视频对象 这是一个理论示例 而不是我的实际生产代码 var myClass functi
  • Android Studio Assistant:无法将客户端添加到您的 Firebase 项目

    当在 Android Studio 中使用新的 Firebase Assistant 添加新服务时 我收到此错误 Firebase 由于以下原因 无法将任何客户端添加到您的 Firebase 项目中 具有此包名称和 SHA1 的应用程序已连
  • Google Oauth 删除访问范围

    假设我有一个应用程序 并且我的应用程序已经运行多年 请求用户访问 相关应用程序请求的访问权限超出了所需的访问权限 或者应用程序已更改并且不再需要它所请求的某些范围 违规范围已被删除 因此不再提示新用户进行我们不需要的访问 然而 我们现在有许
  • 要求命令在 Snow Leopard 上的 bash irb 中不起作用

    我正在学习 Zed Shaw 的 艰难学习 Ruby 练习 25 http ruby learncodethehardway org ex25 html 当我导航到保存 ruby 文件 ex25 rb 的目录并启动 IRB 时 出现以下错误
  • 文本视图中的 Html 具有不同的粗体和斜体字体

    我正在尝试在TextView The TextView文本设置为textView1 setText Html fromHtml htmlText html 包含粗体和斜体跨度 现在 我购买了自定义字体 该字体附带 3 个不同的文件 ttf
  • 如何将架构和一些数据从 SQL Server 复制到另一个实例?

    我的产品使用 SQL Server 数据库 每个客户端在自己的 Intranet 上都有自己部署的实例 该数据库有大约 200 个表 其中大多数是只有几行的配置表 但也有一些事务数据表可能有几百万行 我经常需要解决客户的配置问题 因此我需要
  • 在 C++11 中处理零参数可变参数模板

    考虑以下人工示例 template
  • 在 Vim R 插件中禁用下划线“_”快捷方式插入“<-”[重复]

    这个问题在这里已经有答案了 默认情况下 Vim R plugin 插入 lt 每当我输入或粘贴下划线时 当我粘贴类似内容时 这会产生问题geom bar 这变成geom lt bar 有没有办法关闭这个捷径 我试着看看manual 向下滚动
  • 在哪里可以找到 C#/.NET NFS 实现?

    是否有任何实施NFS用 C 编写的协议或易于阅读的良好文档 以便我可以实现自己的协议 服务器和客户端都需要 但客户端不一定是C 一定有一些东西在那里 假设您没有将其视为一种学习体验 我会建议采用 C C 实现并通过 C CLI 包装它 然而
  • Scala 点语法(或缺乏)

    我正在翻阅这本精彩的书Scala 编程当我遇到一段对我来说没有意义的代码时 def above that Element Element val this1 this widen that width val that1 that wide