gpt4 book ai didi

haskell - 对元组列表进行排序的函数 - Haskell

转载 作者:行者123 更新时间:2023-12-02 04:55:45 25 4
gpt4 key购买 nike

抱歉,这个简单的问题只是我对 haskell 非常陌生..

我正在尝试编写一个函数“order”,它将对另一个函数“Frequency”生成的元组列表进行排序(频率计算列表中不同元素的数量,a给出一个这样的结果,例如>频率“aabbbccc” ",将使结果 [(2,a),(3,b),(3,c)]) 升序排列。我不知道怎么写。

如果我在前奏中写入>sort(频率分数),它将对其进行排序(分数是成绩列表,即[“a”,“b”,“c”,“c”]。

但是当我尝试编写一个函数时..

results :: [a] -> [(Int, a)]
results = sort (frequency score)

遗憾的是,说排序应用于太多参数是行不通的。

很抱歉问了这个明显的问题,并提前致谢。

最佳答案

您忘记让您的函数接受参数。

results :: [a] -> [(Int, a)]
results score = sort (frequency score)

如果没有它,编译器会看到您的类型签名并推断出它,以便返回 [a] -> [(Int, a)], sort 类型的内容必须采用另一个参数,但它没有。

但是,下一个问题是您无法对具有任意组件类型的元组列表进行排序。请参阅 @luqui 的回答以了解如何处理该问题。

关于haskell - 对元组列表进行排序的函数 - Haskell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10405533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com