这是我家庭作业的一小部分,我必须计算列表中的元素,如果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]
这样做是列出了整除n的所有号码。现在我需要在同一个程序中创建另一个函数isTrue,如果上述函数生成的列表只有两个数字,则该函数将赋予true。
'divisors'生成的列表只能包含数字,因为它被称为'Int'的列表。你的意思是“[只有* 2 *号码]”吗? – phimuemue 2012-01-03 14:28:00
感谢您的回复。是列表是Int的列表,我的意思是,如果由除数生成的列表仅包含2个元素,则isTrue是一个不同的函数,返回true。所以我猜测它会处于n> 1的状态,但现在确定如何在这里实现它。 – Amjad 2012-01-03 14:47:14