如何重复字符串并在Haskell中获取它的一部分

RNe*_*Nee 2 haskell

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

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

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

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

4ca*_*tle 8

一个简单的实现是使用cycletake:

takeRepeated :: Int -> [a] -> [a]
takeRepeated n = take n . cycle
Run Code Online (Sandbox Code Playgroud)