我正在进行加密练习,我需要填充输入文本以具有16个字节(AES)的倍数,我发现在python中我可以创建一个空的(即空格字符串):
' ' * n#无论整数n是
haskell有同等的方法吗?我可以使用递归的简单函数来做到这一点,但只是好奇有一种方法比python snip更短。
答案 0 :(得分:2)
由于字符串是字符列表,您可以使用:
replicate :: Int -> a -> [a]
例如:
replicate 5 'x' == "xxxxx"
您可以通过使用Hoogle搜索合理的类型签名来自行查找此类实用程序功能; replicate
恰好是Hoogle search for Int -> a -> [a]
中的第一个结果。
如果您使用的是Text
而不是String
,则Data.Text
中有一个等效函数:
replicate :: Int -> Text -> Text
replicate 5 (pack "x") == pack "xxxxx"