小编Pus*_*yon的帖子

如何比较Haskell中同一列表中的多个字符串

我正在尝试编写一个Haskell函数,它接受一个字符串列表,比较列表中的所有字符串,并输出一个长度最长的字符串列表.我想在没有任何预定义函数或导入的情况下执行此操作,我想尝试以递归方式计算出来.例如:

    longeststrings["meow","cats","dog","woof"] -> ["meow","cats","woof"]
Run Code Online (Sandbox Code Playgroud)

我知道这是一个愚蠢的例子,但我认为这证明了这一点.

我想做点什么

    longeststrings:: [string] -> [string]
    longeststrings []          = []
    longeststrings [x:xs]      = if (x > xs) x:longeststrings[xs]
Run Code Online (Sandbox Code Playgroud)

但我不知道如何只从列表中取出最大的字符串,或删除最小的字符串.我将不胜感激任何帮助.

string recursion haskell functional-programming list

2
推荐指数
1
解决办法
141
查看次数

如何创建Haskell函数,返回整数列表中的每个第三个元素

我想创建一个函数,从int的列表返回每个第三个int而不使用任何预定义的函数.例如,everyThird [1,2,3,4,5] --> [1,4]

everyThird:: [a] -> [a]
Run Code Online (Sandbox Code Playgroud)

我可以继续使用tail迭代列表并每隔三次调用追加到一个新列表吗?我是Haskell的新手并且对所有这些感到非常困惑

haskell functional-programming

0
推荐指数
4
解决办法
678
查看次数