мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версия | Следующая версияСледующая версия справа и слева | ||
haskell [10/09/2018 12:22] – [Урок 2. Способы определения функций] vlasov | haskell [10/09/2018 12:53] – [2.1 Ветвления] vlasov | ||
---|---|---|---|
Строка 137: | Строка 137: | ||
В Haskell возможно описание вычисления функции в | В Haskell возможно описание вычисления функции в | ||
зависимости от условий в более-менее традиционном ключе, для чего | зависимости от условий в более-менее традиционном ключе, для чего | ||
- | присутствуют операторы if и case. Однако, | + | присутствуют операторы |
аналогичных операторов в императивных языках. (Правильнее их называть | аналогичных операторов в императивных языках. (Правильнее их называть | ||
- | выражениями с использованием case- и if-then-else-конструкций) | + | выражениями с использованием |
< | < | ||
Строка 148: | Строка 148: | ||
</ | </ | ||
- | Оператор if предназначен для ветвления вычислительного процесса в | + | Ключевое слово '' |
- | зависимости от условия булевского типа. Части then и else обязательны, | + | зависимости от условия булевского типа. Части |
в отличие от императивного аналога задают не порядок действий, | в отличие от императивного аналога задают не порядок действий, | ||
- | которые возвращают результат для задаваемой функции. Данный оператор | + | которые возвращают результат для задаваемой функции. Данное |
- | частным, | + | частным, |
Иными словами, | Иными словами, | ||
Строка 168: | Строка 168: | ||
</ | </ | ||
- | Рассмотрим более сложные примеры с case-выражениями: | + | Рассмотрим более сложные примеры с '' |
< | < | ||
Строка 183: | Строка 183: | ||
</ | </ | ||
- | Последний пример является комбинацией использования case-выражения с << | + | Последний пример является комбинацией использования |
для предотвращения применения функции для отрицательных аргументов. | для предотвращения применения функции для отрицательных аргументов. | ||
Стоит также упомянуть, | Стоит также упомянуть, | ||
- | рассматривать как упрощенную запись с соответствующими case-выражениями. | + | рассматривать как упрощенную запись с соответствующими |
- | **__Упражнение__.** Задать функцию sign(x) из предыдущего упражнения, | + | **__Упражнение__.** Задать функцию |
==== 2.2 Карринг и лямбда-абстракция ==== | ==== 2.2 Карринг и лямбда-абстракция ==== |