gpt4 book ai didi

Scala 2.10.0 RC2 和可选参数

转载 作者:行者123 更新时间:2023-12-04 23:58:53 24 4
gpt4 key购买 nike

我正在试验 Scala Macros ,这是 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 .

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 版本之间缺乏二进制兼容性。

关于Scala 2.10.0 RC2 和可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13336819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com