我正在尝试创建一个输出char*m n时间的函数,例如预期的输出将["ccc","ccc"]用于输入2 3 c.这是我到目前为止:
rectangle :: Int -> Int -> Char -> [string]
rectangle n m c
| m > 0 = [concat ([[c]] ++ (rectangle n (m-1) c))]
| otherwise = []
Run Code Online (Sandbox Code Playgroud)
我能够执行第一部分char*m,所以它返回["ccc"].事情是:我也希望能够重复我的字符串n时间.
我尝试过使用复制但它似乎不起作用,但如果在控制台中执行它,它会起作用:replicate 2 (rectangle 2 3 c).
以这种方式尝试复制功能:
replicate :: Int -> a -> [a]
rectangle n m c = replicate n (replicate m c)
Run Code Online (Sandbox Code Playgroud)
另外,不要忘记提及这是否是作业.