Основы функционального программирования/Haskell/Служебные слова и синтаксис: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 17:
Функция <code>sign</code> использует три охраняющие конструкции, каждая из которых отделена вертикальной чертой от предыдущего определения. В принципе, таких охраняющих конструкций может быть сколько угодно. Их разбор идёт, естественно, сверху вниз, и если существует непустое пересечение в определении охраны, то сработает конструкция, стоящая раньше (выше) в записи определения функции.
 
Для того, чтобы облегчить написание программ и сделать их читабельнее и проще для понимания, когда в определении функции записано большое много [[w:клоз|клозов]], в Хаскеле используется ключевое слово <code>case</code>. При помощи этого слова можно не записывать клозы определения функций так, как это принято в «чистом» функциональном программировании, а несколько сократить запись. Вот общий вид определения функций со служебным словом <code>case</code>:
 
<code>Function X1 X2 … Xk = <strong>case</strong> (X1, X2, …, Xk) <strong>of</strong>