我理解自我类型的结果是什么,如
$scope.data.namesList = NamesModel.getAll();
来自http://www.markthomas.info/blog/92
据我所知,“从这个特征实例化的对象也是NamesModel.subscribe('NamesModelChanged', function() {
console.log('OK, I will update my data');
// not getting the updated list
$scope.data.namesList = NamesModel.getAll();
});
类型”。是吗?
我的问题:trait SpellChecker {
self: RandomAccessSeq[char] =>
...
}
之后我能写些什么?它是什么意思?我注意到在RandomAccessSeq[char]
之后写=>
时没有出现编译错误。
答案 0 :(得分:3)
我的问题:我可以在
之后写些什么=>
任何。
这是什么意思?
它表示自我类型注释的结束。在那之后是正常的特质体,就好像自我类型的注释甚至不存在一样。
答案 1 :(得分:1)
trait A { ta: B =>
// code
}
在此示例中,ta
是this
别名。它可以作为A.this
的简写,因为当您需要从其他地方引用此代码时。
因为ta
(即此代码)属于B
类型,所有B
的方法和成员数据都在范围内且可以免费使用。这成为编译器将强制执行的契约:因为A
代码可以引用B
代码,A
无法在没有B
的情况下实例化。{/ p>