我的问题是建立一个给定人和小时数的函数(Integer),它在名称的开头添加“erp”,但“r”必须乘以小时。Haskell中的字符串串联
我的功能必须是类型:
drink :: Integer -> Client -> Client
这里it's一个例子:
drink 5 (Aperson name _ _) = "errrrrpname"
我知道该怎么做串联,但我不知道如何乘“R “时间量。
我的问题是建立一个给定人和小时数的函数(Integer),它在名称的开头添加“erp”,但“r”必须乘以小时。Haskell中的字符串串联
我的功能必须是类型:
drink :: Integer -> Client -> Client
这里it's一个例子:
drink 5 (Aperson name _ _) = "errrrrpname"
我知道该怎么做串联,但我不知道如何乘“R “时间量。
重复字符
take 10 $ repeat 'a' -- "aaaaaaaaaa"
重复字符串
[1..10] >>= (\_ -> "x-") -- "x-x-x-x-x-x-x-x-x-x-"
[1..10] >> "x-" -- "x-x-x-x-x-x-x-x-x-x-"
虽然这两种方法都起作用,但他们都不适合他在做什么。 – Lazersmoke
@Lazersmoke我同意这些都不是最理想的,但他们工作,具有正确的复杂性,并且是合理可读的。在我看来这是一个很好的答案,如果只有图书馆不包含'replicate(M)',这将是非常好的。但这并不是什么大问题。 – chi
你可以做一个函数,只需要在''String'和s'整数'N'并还给了'是's'乘以'n'的字符串(无需处理'Client')?我会从那里开始。 –
那么你为什么不称呼你的问题,以反映你对“字符串乘法”(而不仅仅是“串联”)感兴趣的事实? – metaphori
如果您想使用标准库函数(而不是自己实现),则有'replicate'。 – Lazersmoke