Это небольшая часть моей домашней работы, мне нужно подсчитать элементы списка, а если count == 2, верните true. элементы этого списка не являются фиксированными, но фильтруются с использованием различных функций, например, allNumbers. Я должен использовать эту существующую функцию, чтобы проверить, есть ли у нее 2 элемента или нет.Подсчет элементов в списке (haskell)
определение функции проверки будет:
isTrue :: Int -> Bool
У меня есть функция тока определяется
divisors :: Int -> [Int]
divisors n | n < 1 = []
| otherwise = filter (\k -> n `mod` k == 0) [1..n]
Что это делает перечисляет все числа, которые делят п. теперь мне нужно сделать еще одну функцию isTrue в той же программе, которая даст true, если список, созданный указанной выше функцией, имеет только два числа.
Список, созданный 'divisors', может содержать только числа, потому что он называется списком' Int'. Вы имели в виду, что «[...] имеет только * 2 * цифры»? – phimuemue
Спасибо за ваш ответ. да список - это список Int, я имел в виду, что isTrue - это другая функция, которая возвращает true, если список, созданный делителями, содержит только 2 элемента. поэтому я предполагаю, что он будет в состоянии, когда n> 1, но теперь точно, как его реализовать здесь. – Amjad