2014-02-24 66 views

回答

5

必須使用pack將字符串轉換爲ByteString

如果字符串是字符串文字,則可以使用OverloadedStrings擴展名。這將自動將字符串文字轉換爲ByteString

+0

你的意思是我必須首先將字符串參數轉換爲'ByteString'對象之前,我把它們傳遞給'replace'?我如何生成替換字符串參數(第二個參數)到'replace'?這個參數的類型必須是'Substitution'的一個實例。 –

+2

是的,你必須將字符串參數轉換成ByteString對象,而ByteString是類型類Substitution的一個實例,所以它適合作爲replace的第二個參數。 – Teetoo

1

的例子來說明Teetoo的answer

Prelude> :module + Data.ByteString.Char8 Data.ByteString.Search 
Prelude Data.ByteString.Char8 Data.ByteString.Search> replace (pack "World") (pack "Derek") (pack "Hello, World!") 
"Hello, Derek!" 
Prelude Data.ByteString.Char8 Data.ByteString.Search> 
相關問題