gpt4 book ai didi

scala - 有上限的结构类型?

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

考虑我需要使用但无法修复的库的这种设计:

trait Foo

class IgnoreMe extends Foo
class A extends Foo { def bar: A = ...}
class B extends Foo { def bar: B = ...}

在我的代码中:
object Stuff {
type Barred = { def bar: Foo }

def doStuff(b:Barred) = b.bar
}

除了 Stuff.doStuff 将接受符合 Barred 类型的任何内容,而不仅仅是我想要的 Foo 的子类型之外,一切都很好。

我想定义 Barred 使其既是 Foo 的子类型又具有 bar 方法,我不能:(感谢帮助。

最佳答案

简单地

type Barred = Foo {def bar: Foo }

关于scala - 有上限的结构类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8477242/

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