Scala в примерах: различия между версиями
Содержимое удалено Содержимое добавлено
Annayudi (обсуждение | вклад) |
Annayudi (обсуждение | вклад) мНет описания правки |
||
Строка 952:
Заметьте, что типовые параметры никогда не используются в образцах, писать <tt>caseTuple2[Int, Int](n, d)</tt> — нельзя.
Кортежи так удобны, что у Scala есть для них специальный синтаксис. Чтобы сформировать кортеж с ''n'' элементами ''x<sub>1</sub>,
<font size=3><syntaxhighlight lang=Scala>
Строка 972:
</syntaxhighlight></font>
Помимо <tt>Function1</tt> есть также определения для функций любой другой арности (нынешняя реализация устанавливает некий разумный предел). То есть, для любого возможного числа параметров есть соответствующее определение. Синтаксис типа функции в Scala ''(T<sub>1</sub>,
Scala использует одинаковый синтаксис ''f(x)'' для применения функции, вне зависимости от того, является ли ''f'' методом или функциональным объектом. Это возможно из-за следующей конвенции: применение функции ''f(x)'', где ''f'' — объект (в противоположность методу) это укороченная запись для ''f''.<tt>apply</tt>''(x)''. Метод <tt>apply</tt>, принадлежащий типу функций, вставляется автоматически, где необходимо.
Строка 1243:
<font size=3><syntaxhighlight lang=Scala>
def sort[A](xs: List[A])(implicit c: A => Ordered[A]): List[A] =
</syntaxhighlight></font>
|