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

4 байта добавлено ,  8 лет назад
Выражение Scala <tt>(x<sub>1</sub>: T<sub>1</sub>, …, x<sub>n</sub>: T<sub>n</sub>) => E</tt> определяет функцию, которая соотносит свои параметры <tt>x<sub>1</sub>, …, x<sub>n</sub></tt> с результатами выражения <tt>E</tt> (где <tt>E</tt> может ссылаться на <tt>x<sub>1</sub>, …, x<sub>n</sub></tt>). Анонимные функции — не основные элементы языка Scala, поскольку они всегда могут быть выражены через именованные функции. Действительно, анонимная функция
 
<precode>
(x<sub>1</sub>: T<sub>1</sub>, …, x<sub>n</sub>: T<sub>n</sub>) => E
</precode>
 
эквивалентна блоку
 
<precode>
{ def f (x<sub>1</sub>: T<sub>1</sub>, …, x<sub>n</sub>: T<sub>n</sub>) = E ; f _ }
</precode>
 
где <tt>f</tt> — свежее имя, которое больше не используется нигде в программе. Можно сказать, что анонимные функции это "синтаксический сахар".
83

правки