创建字符串列表

时间:2019-12-06 20:10:32

标签: string list haskell

我有字符串列表

field :: [String]
field = ["......",
         "......",
         "......",
         "......",
         "......",
         "......"] 

但这是静态的。我正在尝试编写包含两个数字的函数(一个字符串X的长度和所有字符串Y的数量)。

createField :: (Int, Int) -> [String]

例如: createField 4, 5

它应该返回这个

["....",
 "....",
 "....",
 "....",
 "...."] 

您能帮我吗?

1 个答案:

答案 0 :(得分:3)

尽管没有错,但使用2元组作为参数并不是很常见。编写带有签名的函数更容易 Haskell-ish

createField :: Int -> Int -> [String]

然后您可以使用createField 4 5来调用它。

您可以在这里利用replicate :: Int -> a -> [a]来构造String 和{em}列表String。例如:

GHCi> replicate 4 '.'
"...."

我将其保留为构建列表本身的练习。该函数的形式为:

createField :: Int -> Int -> [String]
createField m n = _ (replicate m '.')

_是您需要填写的内容。