self
не является ключевым словом Scala.
Хотя у меня нет этой книги, классы Scala допускают псевдонимы для себя;self
обычно выбирают.Вот почему вы можете захотеть сделать это (не считая того, что вы можете ограничить тип, которым может быть класс при указании псевдонима):
class A {
self =>
val a = 7
class B {
val a = 7 // Uh-oh, we've shadowed the parent class a.
val outerA = self.a // Whew, we haven't lost it!
}
}
Итак, self
почти наверняка является классом, который реализуетметод getPageSizeConcurrently
.
Не видя больше кода, я не понимаю, почему именно он написан таким образом (мне это кажется странным).Но здесь не происходит никаких странных сообщений в метод.
(Кстати, обратите внимание, что формально можно определить субъект, который расширяет черту Function
. Таким образом, вы могли бы, на самом деле, отправить сообщениедля функции (объект функции, а не метод). Но синтаксис не будет выглядеть так, как у вас выше.)