Scala в примерах: различия между версиями
Содержимое удалено Содержимое добавлено
Annayudi (обсуждение | вклад) Добавлен перевод главы 7. |
Annayudi (обсуждение | вклад) |
||
Строка 1589:
case Sum(l, r) => eval(l) + eval(r)
}
</syntaxhighlight></font>
В этом примере есть два случая. Каждый случай сопоставляет образец с выражением. Образцы сопоставляются со значениями селектора <tt>e</tt>. Первый образец в нашем примере, <tt>Number(n)</tt>, соответствует всем значениями вида <tt>Number(v)</tt>, где <tt>v</tt> — произвольное значение. В этом случае ''переменная образца'' <tt>n</tt> связывается со значением <tt>v</tt>. Аналогично, образец <tt>Sum(l, r)</tt> соответствует всем значениям селектора вида <tt>Sum(v<sub>1</sub>, v<sub>2</sub>)</tt> и связывает переменные образца <tt>l</tt> и <tt>r</tt> с <tt>v<sub>1</sub></tt> и <tt>v<sub>2</sub></tt> соответственно.
|