мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
haskell [17/07/2018 14:34] – [3.8 Дополнительные функции из модуля Data.List] vlasovhaskell [17/07/2018 16:58] – [7.1 Монада Maybe] vlasov
Строка 801: Строка 801:
 При сопоставлении с образцом будем писать: При сопоставлении с образцом будем писать:
  
-<code haskell>+<code>
 absPoint' (Point { pointx = x, pointy =y } ) = sqrt (x^2 + y^2) absPoint' (Point { pointx = x, pointy =y } ) = sqrt (x^2 + y^2)
 </code> </code>
Строка 807: Строка 807:
 или или
  
-<code haskell>+<code>
 absPoint'' (Point x y) = sqrt (x^2 + y^2) absPoint'' (Point x y) = sqrt (x^2 + y^2)
 </code> </code>
Строка 1717: Строка 1717:
 </code>  </code> 
  
-Здесь как раз видно, что обычные комбинаторы функции ''$'' и ''.'' имеют соответствующие аналоги для монадических функций: ''<nowiki>>>=</nowiki>'' и ''<nowiki>>=></nowiki>'', но в обратном порядке, как для PipeLine в Unix; если необходим привычный порядок комбинаторов, как в композициях функций, то можно использовать ''<nowiki>=<<</nowiki>'', ''<nowiki><=<</nowiki>''. Правда, если комбинатор ''<nowiki>>>=</nowiki>'' доступен сразу в модуле Prelude, то комбинаторы ''<nowiki>>=></nowiki>'', ''<nowiki><=<</nowiki>'', ''<nowiki>=<<</nowiki>'' доступны либо при подключении модуля ''Control.Monad'', либо требуют простых определений самостоятельно, напр.:+Здесь как раз видно, что обычные комбинаторы функции ''$'' и ''.'' имеют соответствующие аналоги для монадических функций: ''<nowiki>>>=</nowiki>'' и ''<nowiki>>=></nowiki>'', но в обратном порядке, как для PipeLine в Unix; если необходим привычный порядок комбинаторов, как в композициях функций, то можно использовать ''<nowiki>=<<</nowiki>'', ''<nowiki><=<</nowiki>''. Правда, если комбинатор ''<nowiki>>>=</nowiki>'' доступен сразу в модуле ''Prelude'', то комбинаторы ''<nowiki>>=></nowiki>'', ''<nowiki><=<</nowiki>'', ''<nowiki>=<<</nowiki>'' доступны либо при подключении модуля ''Control.Monad'', либо требуют простых определений самостоятельно, напр.:
 <code haskell> <code haskell>
 f >=> g = \x -> (f x >>= g) f >=> g = \x -> (f x >>= g)