나는 자기가 매우 흥미로운 사실을 발견했다. 예를 들어 내가 쓴했습니다구조 형
type A = { val st: Set[Any]
val start: Set[Any]
val Sigma : Set[Char]
def tr(f: (Tuple2[Any, Any])=>Boolean): Set[Any]
}
class Fon {
val st: Set[Any]
val start: Set[Any]
val Sigma : Set[Char]
def tr(f: (Tuple2[Any, Any])=>Boolean): Set[Any] = Set(out)
def out: String = "is just example"
}
val a: A = new Fon
a.tr(f(Tuple2('a',0)))
을하지만 a.out을 부릅니까 시도한다면 - 나는 A 형이 존재하지 않은 것으로, 오류가이 일어나고 것은이 어떻게 일을 무엇 '아웃' ? 감사합니다. .
이 코드는 올바르지 않습니다. 적어도'Set [out]'과'Tuple [ 'a, 0]'은'()'대신'[]'가 사용되기 때문에 올바르지 않습니다. 또한 구조 타입과 관련이 없습니다. - val a : AnyRef = new Fon; a.out' 그것은 모두 동일하게 불평 할 것이다. –
어쩌면 내가 이해할 수 없지만 다음과 같이 할 수 있을까요? type A = {def out : String}; class AA {def out : String = out2; def out2 = "out2"; val a : A = 새로운 AA; a.out' - result'String = out2' – dvigal
@lisasha 예제에는'}'가 없습니다. 나는'out2'의 정의 후에 가정합니다. 어쨌든, 그 질문이나 진술인가? 질문이라면 그렇다. 진술이 있다면, 나는 당신이하려는 요점을 이해하지 못합니다. 그것이 실패 할 것으로 예상 했습니까? 그렇다면 왜? –