我想打印一个字符串,强调字符串n次,其中n是Haskell中字符串的长度。
我该怎么做?
我的字符串是:“可用的字符(x)” 我希望有一个字母强调该句子,它应该与“可用字符(x)”具有完全相同的长度。但是x是一个int,所以它可能是“1”或“10”或“1000”等。所以长度是可变的。我得到了长度,但我不知道如何打印该字符串只要字符串是...
答案 0 :(得分:4)
使用replicate
:
underline :: String -> String
underline = flip replicate '-' . length
这会给你一个字符串,它是字符的n倍 - ' - '其中n是输入字符串的长度。它与:
相同underline = map $ const '-'
然后您可以像这样使用它(例如yourString = "Available Chars (111)"
):
> putStrLn yourString >> putStrLn (underline yourString)
Available Chars (111)
---------------------
答案 1 :(得分:3)
replicate n 'charHere'
例如,如果你想重复char '-'
12次:
replicate 12 '-'
答案 2 :(得分:0)
可能性是(重新)实施replicate
,例如如下,
replicate' :: Int -> a -> [a]
replicate' n x = if (n <= 0) then [] else (x : replicate (n-1) x)