gpt4 book ai didi

scala - 未绑定(bind)通配符类型

转载 作者:行者123 更新时间:2023-12-04 22:45:00 24 4
gpt4 key购买 nike

当我得到 error: unbound wildcard type 时,我正在使用 Scala REPL .我试图声明这个(无用的)函数:

def ignoreParam(n: _) = println("Ignored")

为什么我会收到此错误?

是否可以在不引入命名类型变量的情况下声明此函数?如果是这样,怎么做?

最佳答案

Scala 不会在参数中推断类型,类型从声明流向使用站点,所以不,你不能这样写。你可以写成 def ignoreParam(n: Any) = println("Ignored")def ignoreParam() = println("Ignored") .

就目前而言,您的类型签名并没有真正意义。您可能期望 Scala 推断出 n: Any但由于 Scala 不推断参数类型,所以没有赢家。在 Haskell 中,你可以合法地写 ignoreParam a = "Ignored"因为它更强大的类型推理引擎。

为了得到你想要的最接近的近似值,你可以把它写成 def ignoreParams[B](x: B) = println("Ignored")我想。

关于scala - 未绑定(bind)通配符类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31471551/

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