type-members

    4热度

    1回答

    class EG { private[this] type TypeMember = A private[this] var field: Int = 0 } 可以像字段一样为类型成员指定访问修饰符。在OOP的情况下,我们很清楚,领域的encapsulation确实提供了有益于防止意外共享状态和限制状态修改的好处。就我所知,类型成员只能在Scala中找到,而且在很多地方,

    9热度

    1回答

    这行之有效 class MyClass[T<: Actor: ClassTag] extends Actor { //.... } 但这并不适当做以下No ClassTag available for MyClass.this.T class MyClass extends Actor { type T<: Actor //... } 即使错误: clas

    3热度

    1回答

    为什么使用绑定到类值参数的类型成员会生成“类型不匹配”错误?例如: scala> class A { type t } defined class A scala> class B(val a: A) defined class B scala> val aInt = new A { type t = Int } aInt: A{type t = Int} = [email prot

    1热度

    1回答

    我希望我的特质Outer具有两个抽象成员类型Inner1和Inner2。我想Inner2也有抽象成员类型Inner1。我想要求Outer#Inner1等于Inner2#Inner1。什么是最令人信服的方式来做到这一点?到目前为止,我有 trait HaveInner1 { type Inner1 } trait Outer { type Inner1 type

    3热度

    1回答

    我在为具有类型成员的类型解析scala.reflect.Manifest时遇到问题。 例如, import scala.reflect.Manifest trait Foo { type T } trait Bar[T] object Main extends App { val barM: Manifest[Bar[Int]] = implicitl

    0热度

    1回答

    我可以在Scala中引用一个抽象类型成员的字段,例如, abstract class C { type T val t: T } 但似乎我不能做同样的事,一个构造函数的参数: abstract class C(t: T) { // not found: type T type T } 为什么?

    0热度

    2回答

    快速提问为什么我们无法实例化类型成员?例如借此例如: abstract class SimpleApplicationLoader { type MyComponents <: BuiltInComponentsFromContext def load(context: Context) = { new MyComponents(context).applicati

    2热度

    2回答

    我的情况是这样的: trait A { type B def foo(b: B) } trait C[D <: A] { val d: D def createB(): D#B def bar() { d.foo(createB) } } 在REPL,它抱怨 <console>:24: error: type mi

    1热度

    2回答

    对不起,标题很混乱。 我正在尝试编写一些Request和Response类用于验证和解析的目的。我希望在编译时有一些类型的保证,但仍然有运行时多态性。我有以下基类: abstract class Response() abstract class Request() { type ResponseType = Response def ResponseClass: Clas

    3热度

    2回答

    如果为其超类型A定义了隐式,是否可以解析类型B的隐式参数? 下面是一个例子: 我有一个可枚举类型类: trait Enumerable[A] { def name(a: A): String def list: List[A] //... other methods } object Enumeration { def name[A, T >: