Scala 2.10.0 RC2 和可选参数

2024-04-09

我正在尝试Scala 宏 http://scalamacros.org/,它们是 Scala 2.10 的一部分,但当我尝试编译(使用 sbt)时,出现以下错误:

[error] .../API.scala:9: not enough arguments for constructor OAuth:
(requestMethod: String, consumerSecret: String, consumerKey: String,
signatureMethod: String, version: String)jm.oauth.OAuth
[error]   private val oauth = new OAuth(OAuth.POST, oauthConsumerSecret,
oauthConsumerKey, OAuth.HMAC_SHA1)

您可以找到该实施OAuth class here https://github.com/mariosangiorgio/Scala-OAuth/blob/master/Scala%20OAuth/src/jm/oauth/OAuth.scala.

scala 2.10 和可选参数之间是否有不兼容的情况?

使用 scala 2.9.1 编译的完全相同的代码可以完美运行。


如果您创建仅包含此类定义的文件:

class Optional(x: Int = 0)

然后用Scala 2.9.2编译并运行javap在生成的类中,您将看到以下内容:

public class Optional implements scala.ScalaObject {
  public static final int init$default$1();
  public Optional(int);
}

使用 2.10.0-RC2 再次编译并javap它,你会得到这个:

public class Optional {
  public static int $lessinit$greater$default$1();
  public Optional(int);
}

所以不,默认参数在 2.10 中完全没问题,您刚刚遇到了主要 Scala 版本之间缺乏二进制兼容性的具体示例。

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

Scala 2.10.0 RC2 和可选参数 的相关文章

随机推荐

  • GeoAlchemy2:获取某个点的经纬度

    考虑以下SQLAalchemy http www sqlalchemy org GeoAlchemy2 http geoalchemy 2 readthedocs org en 0 2 6 index html具有几何字段的 ORM fro
  • 面向方面编程(AOP)有哪些缺点?

    面向方面编程有哪些可能的和关键的缺点 例如 新手的神秘调试 可读性影响 我认为最大的问题是没人知道如何定义切面的语义 or 如何非程序地声明连接点 如果您无法独立于要嵌入的上下文来定义某个方面的功能 或者无法以不损害其嵌入的上下文的方式定义
  • 如何在 Go 和 Android 之间使用 RSA

    我 1 在 Go 中创建公钥并将其发送到 Android 2 android使用下面的代码来加密它的数据以字符串类型发送到Go 3 去获取字符串数据并尝试解密 但不能 我的Go代码 DecryptWithPrivateKey decrypt
  • Is
  • Angular2指令“无法使用输出元数据读取未定义的属性‘订阅’”

    关于 Angular2 指令 我想使用outputs而不是使用 Output因为我有很多自定义事件并且希望保持 DRY 但是 我有TypeError Cannot read property subscribe of undefined 而
  • SET 查询中“在此上下文中无效使用聚合函数”(Neo4j)

    我想知道为什么这被认为是 Neo4j 的 Cypher 中聚合函数的无效使用 MATCH p Project EMPLOYS n Person SET p youngest MIN n age 虽然以下被认为是有效的用例 MATCH p P
  • MYSQL声明变量

    我不明白这个脚本有什么问题 BEGIN DECLARE crs INT DEFAULT 0 WHILE crs lt 10 DO INSERT INTO continent name VALUES cont crs SET crs crs
  • 我应该使用 SIMD 或向量扩展还是其他什么?

    我目前正在开发一个开源 3D 应用程序框架c questions tagged c 2b 2b with c 11 questions tagged c 2b 2b11 我自己的数学库是这样设计的XNA数学库 http msdn micro
  • 无法向 Mongoose 查询返回的对象添加新属性[重复]

    这个问题在这里已经有答案了 我正在使用 Node js MongoDB 和 Express 编写 API 我似乎无法向我正在迭代的位置对象添加新属性 我根本不明白我的代码的问题 loc是一个普通的对象 它应该可以工作 我错了吗 GET Lo
  • `require` 在 php 中不起作用

    这是我现在正在获取的错误 PHP Fatal error require Failed opening required base data home apps s civic planet 191520 20180221t115719 4
  • 列表活动中的上下文菜单

    我有带有自定义数组适配器的列表活动 当长按列表项时我无法获取上下文菜单
  • 如何使用 vue-cli 3 创建两个单独的包?

    我想构建两个独立的 vue 应用程序 它们将在 Express 应用程序中的两条不同路径上提供服务 公共 vue 应用程序和 管理 vue 应用程序 这两个应用程序有自己的路由器和商店 但它们共享许多自定义组件 如何编辑默认的 webpac
  • Distcp 源长度不匹配

    我在执行时遇到问题distcp两个不同的命令之间hadoop簇 引起原因 java io IOException 长度不匹配 来源 hdfs ip1 xxxxxxxxxxx xxxxx 和 目标 hdfs nameservice1 xxxx
  • Rails 使用 puma,将 localhost:3000 更改为 localhost:3000/example

    我开发了一个 Rails 5 应用程序 可以很好地运行http 本地主机 3000 http localhost 3000 现在 我需要该应用程序在 localhost 3000 example 中启动 并且该链接通过这个新主机 例如 lo
  • 源 bashrc 在 cron 中不起作用

    我们都知道 cron 会忽略 bashrc 和 bash profile 中定义的变量 因此我们必须在 cron 中定义它 我经常做类似问题中写的同样的事情https unix stackexchange com questions 679
  • 如何替换数据帧每行中大于某个阈值的前 n 个元素

    我有一个巨大的数据框 仅包含数字 下面显示的数据框仅用于演示目的 我的目标是替换数据帧的每一行中的第一行n大于某个值的数字val by 0 举个例子 我的数据框可能如下所示 c1 c2 c3 c4 0 38 10 1 8 1 44 12 1
  • 使用 GraphViz 理解 -fdump-tree 输出 gcc

    我创建了一个树转储 如下所述 如何将 gcc 生成的抽象语法树转储到 dot 文件中 https stackoverflow com questions 15800230 how can i dump an abstract syntax
  • Django:按日期范围过滤对象

    我的对象模型是 class Event models Model start models DateTimeField end models DateTimeField 我需要过滤今天的所有对象 我有一个对象 开始日期为 2014 03 0
  • Haskell抽象语法表达式的动态加载

    我们可以使用 GHC API 或其他东西来加载 AST 表达式而不是文本源模块 类似于haskell src extsExp type http hackage haskell org packages archive haskell sr
  • Scala 2.10.0 RC2 和可选参数

    我正在尝试Scala 宏 http scalamacros org 它们是 Scala 2 10 的一部分 但当我尝试编译 使用 sbt 时 出现以下错误 error API scala 9 not enough arguments for