특정 특성 중 적어도 하나를 구현하기 위해 사례 클래스를 요구하고 싶습니다. 그러나 컴파일되지 않는 믹스 인으로 인스턴스화 case class DisqualifiedDate(override val paths: Set[DatePath],
override val cal: Calendar) extends CalendricDate(paths,cal){
일반 숫자 프로그래밍 게시물 here을 언급했습니다. 그러나 나는이 코드를 컴파일 오류가 점점 오전 : object V1 {
trait Addable[A] {
self: A =>
def +(that: A): A
}
def add[A <: Addable[A]](x: A, y: A): A = x + y
이 스 니펫을 컴파일하는 동안 오류가 발생하는 이유는 무엇입니까? trait ID[R <: Record[R] with KeyedRecord[Long]] {
this: R =>
val idField = new LongField(this)
}
ERROR : 나는이 문제를 해결할 수있는 방법 inferred type arguments
자체 유형 특성 내에서 스칼라의 자체 유형 주석의 구체 유형에 대한 참조를 얻고 싶습니다. 나는 이런 일이 : 나는 new FooImpl1 with SpecialFoo을 할 경우, 내가 필요로 (FooImpl1의 또는 하위 유형)을 FooImpl1를 반환하는 |+| 방법을 싶습니다 trait Foo
class FooImpl1 extends Foo
cla
값을 외부 범위에 넣을 것으로 기대하는 재사용 가능한 특성을 정의하려고합니다. 바깥 쪽 범위 안에 특성을 정의 할 수는 있지만 작동하지만 재사용 할 수는 없습니다. 형질을 분리 된 범위로 옮길 때, 형질은 그 값에 접근 할 수 없으며 형질이 혼합되어있는 형의 외부 범위에 존재하는 것으로 그것을 선언하는 방법을 찾지 못했습니다. 그것은 난 후 무엇을 아주 가
인식이 시도하지 : 나는 다음과 같은 컴파일러 오류가 아래의 코드로 sealed trait TA
sealed trait TB extends TA
sealed trait TC extends TA
sealed trait CA {
this: TA =>
}
final class CB extends CA with TB
final class CC
스칼라의 케이크 패턴을 여러 개의 그룹 (레이어)이있는 일반 인터셉터와 함께 사용하려고합니다. 한 레이어의 끝에 다른 레이어가 필요할 때 자체 유형을 사용하여 표현하려고합니다. 그러나 불법 상속으로는 실패합니다. 이 작업의 일반적인 컨텍스트는 내가 일련의 유효성 검사를 수행하려고하는 문서 모델을 가지고 있습니다. 장난감 예제는 하나의 특성으로 표현되는 각
상황을 제공하는 방법 : trait Operation {
def something: Double
}
trait OperationPlus { this: A =>
override def something: Double = x + y
}
trait OperationMinus { this: A =>
override def something:
내부 특성 mixin에서 외부 특성의 값에 액세스 할 수 있습니까? 예 : trait Outer {
val foo
trait Inner
}
trait InnerMixin { this: Outer#Inner =>
def bar {
// how can I access 'foo' here? smth like Outer.t