diff --git a/chapters/15-hof.md b/chapters/15-hof.md index 90ca40b..f07893c 100644 --- a/chapters/15-hof.md +++ b/chapters/15-hof.md @@ -113,7 +113,7 @@ main = print . toStr $ [1.2, 1,4, 1.6] Функция `toStr` работает уже со списками разных типов: на входе список чисел с плавающей точкой, на выходе список строк. При запуске этой программы мы увидим следующее: ```bash -["1.2","1.0","4.0","1.6"] +["1.2","1.4","1.6"] ``` Уже знакомая нам стандартная функция `show` переводит свой единственный аргумент в строковый вид: @@ -142,7 +142,7 @@ map :: (a -> b) -> [a] -> [b] Именно так, как у нас и есть: ```haskell -map show [1.2, 1,4, 1.6] = ["1.2","1.0","4.0","1.6"] +map show [1.2, 1,4, 1.6] = ["1.2","1.4","1.6"] ``` Функция `map` применяет функцию `show` к числам из первого списка, на выходе получаем второй список, уже со строками. И как и в случае с `toUpper`, функция `show` ничего не подозревает о том, что ею оперировали в качестве аргумента функции `map`. @@ -160,7 +160,7 @@ main = print . ten $ [1.2, 1,4, 1.6] Результат работы: ```bash -[12.0,10.0,40.0,16.0] +[12.0,14.0,16.0] ``` Мы передали функции `map` нашу собственную ЛФ, умножающую свой единственный аргумент на `10`. Обратите внимание, мы вновь использовали краткую форму определения функции `ten`, опустив имя её аргумента. Раскроем подробнее: