小编Alo*_*ous的帖子

Haskell:从字符串列表中删除空格

问题是:编写一个将从字符串中删除前导空格的函数.示例:cutWhitespace [" x","y"," z"]预期答案:["x","y","z"]

继承人我所拥有的:

cutWhitespace (x:xs) = filter (\xs -> (xs /=' ')) x:xs
Run Code Online (Sandbox Code Playgroud)

["x", " y"," z"]输入时返回[" x"," y", " z"].为什么忽略第二和第三个字符串中的空格,我该如何解决?

我们被允许使用高阶函数,这就是我实现过滤器的原因.

string haskell list filter

4
推荐指数
1
解决办法
1265
查看次数

将列表拆分为多个部分,然后将这些部分混洗:Haskell

问题是:定义一个shuffle :: Int -> [a] -> [a]采用自然数n和偶数列表的函数,然后拆分然后将列表重复n次.例如,shuffle 2 [1,2,3,4,5,6] = [1,5,4,3,2,6].我有一个相应的函数riffle,但我不知道如何拆分列表.

我的浅滩功能是:

riffle :: [a] -> [a] -> [a]
riffle [] ys = ys
riffle xs [] = xs
riffle (x:xs)(y:ys) = x : y : riffle xs ys 
Run Code Online (Sandbox Code Playgroud)

我开始洗牌,我想,这就是我所拥有的:

shuffle :: Int -> [a] -> [a]
shuffle [] = []
shuffle a xs = (length xs) 'div' a
Run Code Online (Sandbox Code Playgroud)

我试图列出一个列表并分成指定为"a"的部分.我是Haskell的新手,我仍然不确定它是如何工作的:所有的帮助都表示赞赏.

recursion haskell list

0
推荐指数
1
解决办法
229
查看次数

标签 统计

haskell ×2

list ×2

filter ×1

recursion ×1

string ×1