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

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
haskell [24/11/2018 19:42] – [6.6 Запуск и компиляция] vlasovhaskell [09/03/2019 20:38] (текущий) – [Урок 8.1 Восходящий Парсер] vlasov
Строка 1200: Строка 1200:
  
 <code haskell> <code haskell>
-infixl 7 (&&&) +infixl 7 &&& 
-infixl 5 (|||)+infixl 5 |||
 </code> </code>
  
Строка 1547: Строка 1547:
   writeFile "testUp.txt" (unlines up_lst)   writeFile "testUp.txt" (unlines up_lst)
 </code> </code>
-Здесь "чистая функция" transform преобразует в строках символы к верхнему регистру. "Чистая функция" ''lines'' разбивает входящую строку на список строк по признаку конца строки, а функция ''unlines'', наоборот, получив список строк, склеивает их в одну.+Здесь "чистая функция" ''transform'' преобразует в строках символы к верхнему регистру. "Чистая функция" ''lines'' разбивает входящую строку на список строк по признаку конца строки, а функция ''unlines'', наоборот, получив список строк, склеивает их в одну.
  
 Работа с "чистыми функциями" в монадическом коде (для нас пока это означает "внутри блока ''do''") должна осуществляться с помощью конструкции ''let''. Работа с "чистыми функциями" в монадическом коде (для нас пока это означает "внутри блока ''do''") должна осуществляться с помощью конструкции ''let''.
Строка 2607: Строка 2607:
 то не распозналось.. Если элементы во входном списке еще остались, то переходим к шагу 1. то не распозналось.. Если элементы во входном списке еще остались, то переходим к шагу 1.
  
-Ниже применяем полученные функции для создания парсера parser.+Ниже применяем полученные функции для создания парсера ''parse''.
 <code haskell> <code haskell>
 parse teststr = if (mss == "S" parse teststr = if (mss == "S"