Scala в примерах: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 1407:
Scala использует одинаковый синтаксис ''f(x)'' для применения функции, вне зависимости от того, является ли ''f'' методом или функциональным объектом. Это возможно благодаря следующему соглашению: применение функции ''f(x)'', где ''f'' — объект (в противоположность методу) это сокращенная форма записи для ''f''.<tt>apply</tt>(''x''). Метод <tt>apply</tt>, принадлежащий типу функций, вставляется автоматически везде, где это необходимо.
 
Поэтому мы определяли операцию взятия элемента из массива в [[Scala в примерах#Аннотации вариантности|Параграфе 8.2]] при помощи метода <tt>apply</tt>. Для любого массива <tt>a</tt> операция взятия элемента <tt>a(i)</tt> это сокращенная форма записи <tt>a.apply(i)</tt>.
 
Функции — это пример того, как полезны объявления контравариантных типовых параметров. Рассмотрим, например, следующий код: