Я пытаюсь немного изучить Haskell с помощью онлайн-книги «Learn you a Haskell», и у меня есть вопрос о функциях высшего порядка .
Я видел несколько примеров , и я хочу выполнить еще несколько дополнительных функций, но не знаю, почему я всегда читаю следующее исключение:
*** Исключение: euler13.hs: (11,0) - (15,39): и у меня вопрос о функциях высшего порядка. Я видел несколько примеров и хочу сделать еще несколько дополнительных функций ...
Я пытаюсь немного изучить Haskell с помощью онлайн-книги «Learn you a Haskell», и у меня есть вопрос о функциях высшего порядка .
Я видел несколько примеров , и я хочу выполнить еще несколько дополнительных функций, но не знаю, почему я всегда читаю следующее исключение:
*** Исключение: euler13.hs: (11,0) - (15,39): и у меня вопрос о функциях высшего порядка. Я видел несколько примеров и хочу сделать еще несколько дополнительных функций ...
Я пытаюсь немного изучить Haskell с помощью онлайн-книги «Learn you a Haskell», и у меня есть вопрос о функциях высшего порядка .
Я видел несколько примеров и хочу выполнить еще несколько дополнительных функций, но не знаю, почему я всегда читаю следующее исключение:
*** Исключение: euler13.hs: (11,0) - (15,39): Неисчерпывающие шаблоны в функции apply
И функция, которую я определил, такова:
apply :: (Num b, Ord b) => (a -> a) -> b -> [a] -> [a] apply f n [] = [] apply f n [x] | n <= 1 = map f [x] | otherwise = apply f (n-1) (map f [x])
Я хочу применить n раз конкретную функцию с именем f к списку «[x]». Я попытался сделать эту функцию полиморфной, чтобы тип параметра был 'a'. Но я также хочу использовать числа и списки, поэтому напрямую я использую список (если я хочу использовать функцию только для числа, очевидно, это будет [число])
Кто-нибудь может мне помочь, пожалуйста? Мне нравится этот язык, но это немного сложно, когда вы изучаете, потому что он сильно отличается от Java или c (например)
Спасибо!