這是我家庭作業的一小部分,我必須計算列表中的元素,如果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