Это, вероятно, довольно очевидный вопрос, но я просто не могу понять это.Haskell Even Function?
Я пытаюсь написать функцию, которая квадратизирует четные числа в списке. Когда я пытаюсь запустить его, я получаю сообщение о том, что я использую четную функцию. Как я могу это исправить?
module SquareEvens where
squareEvens :: [Integer] -> [Integer]
squareEvens n = [ns * ns | ns <- n, even n]
Функция работает отлично для меня, если вы меняете «даже n» на «даже ns» –
yep! это закрепило его! вау, дух. –
В несвязанной заметке по условному 'ns' часто указывает список, а' n' указывает элемент из этого списка. Возможно, вы захотите переключить свои 'n' и' ns', чтобы следовать общему использованию Haskell. – kputnam