如何根據自己的名字對動物進行排序?名稱由String
值表示。如何按字符串排序自定義類型
data Animal = Cat String | Dog String | Fox String deriving (Show)
testAnimals = [(Dog "c"),(Fox "a"),(Cat "b")]
sortAnimalsByName :: [Animal] -> [Animal]
sortAnimalsByName animals = undefined
查詢:
sortAnimalsByName testAnimals
應該返回:
[(Fox "a"),(Cat "b"),(Dog "c")]
我認爲sort :: Ord a => [a] -> [a]
從Data.List
應使用功能,但如何?
''(比較'f')'''Data.Ord.comparing f'; 'sortBy(比較f)'='Data.List.sortOn f' –
@JonPurdy:我已經用你的建議更新了答案,非常感謝。 –