我的問題是建立一個給定人和小時數的函數(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