我需要编写一个Haskell程序,它接受一个整数和一个列表,并重复列表中最多n位的字符:

Int -> [a] -> [a]

例如3 "pink"会给"pin"
6 "blue"会给"bluebl"

我是Haskell的新手,所以不能形成逻辑,或者不知道是否有任何功能可以做到。

#1楼 票数:8

一个简单的实现是使用cycletake

takeRepeated :: Int -> [a] -> [a]
takeRepeated n = take n . cycle

  ask by RNee translate from so

未解决问题?本站智能推荐:

4回复

haskell在字符串中重复所有字符

我刚从Haskell开始,想要做一个小函数,该函数需要一个整数和一个String,以整数暗示的频率重复String中的每个字符。 例如:乘以3“ hello”将输出“ hhheeelllooo” 我现在的问题是我不确定如何遍历所有字符。 所以我会得到的是“ hhhello”。
2回复

如何在Haskell中修改部分州

我有许多修改System的操作。 系统的定义如下: 与例如 但是我也有一些功能,这些功能不需要访问整个系统,但是具有类似以下的类型: 目前我给他们像 但这是一个不必要的广泛接口。 要与System使用上面的狭窄接口,我必须从System提取单个Process和
1回复

Haskell-使用“取放”将列表分为三部分

因此,我遇到了这个函数定义,该函数定义包含一个列表(xs)并将其分为三部分作为输出。 问题是我很难理解它。 我知道第一部分占列表(xs)的n,其中n被定义为将列表(xs)的长度除以3。但是在那之后,我不确定到底发生了什么。 如果有人可以指导我完成此功能,那就太好了。 这是代码
2回复

将字符串拆分为确定数量的部分(Haskell)

我正在尝试在Haskell中将字符串拆分成几个部分 实际上,我已经成功将String拆分为[[Integer]]但我想拥有一个[[[Integer]]] 。 这是我所拥有的: 我想要的是:parPaquets :: Int-> [Integer]-> [[[[In
2回复

字符串在Haskell中的每个字符分为6个部分

我希望能够将每个字符的字符串拆分为6个单独的字符串。 例如,IAMABADPROGRAMMER 会导致:IDA,APM,MRM,AOE,BGR,AR 有没有一个haskell功能来做到这一点? 谢谢
1回复

如何重复haskell中的函数列表

我希望有一个循环通过某种模式的无限函数列表。 例如: [(+), (-), (+), (-), ...] 如果我做的事情 然后我得到嵌套列表[[a -> a -> a]] 。 在这样的模式之后获得单个无限函数列表的最佳方法是什么?
1回复

在这种情况下如何重复一个功能? 哈斯克尔

我有一个绘制一串字符串的函数和一个绘制一串字符串的函数: 我注意到我应该在printBox使用printLine ,因为printLine是printBox功能的printBox 。 但是,我尝试了很多次,并且悲惨地失败了。 如何在printBox使用printLine来达到同样
4回复

在Haskell中“重复”?

我是Haskell的新手,我有一个简单的问题。 我可以对a和b使用什么函数,这将导致a,b次。 例: a = 4 | b = 3 将返回: [4, 4, 4] 谢谢!