gpt4 book ai didi

scala - 为什么构造函数上的隐式转换需要 'this' ?

转载 作者:行者123 更新时间:2023-12-05 00:02:15 24 4
gpt4 key购买 nike

考虑以下典型的 Scala 'pimp' 代码:

class PimpedA(a:A){
def pimp() = "hi"
}
implicit def pimpA(a:A) = new PimpedA(a)

new A(){
pimp() //<--- does not compile
}

但是,将其更改为:
new A(){
this.pimp()
}

让它工作。
不应该和Scala编译器一样吗?

编辑 :是否有任何解决方案可以使其工作而无需添加 this. ?

最佳答案

一点也不。为了让它工作,pimp需要是对象或值的导入成员,两者都不是。一个类有一个“隐式”import this._ .它没有自动前置的机制 this来看看它是否编译。

关于scala - 为什么构造函数上的隐式转换需要 'this' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8196794/

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