在Haskell中,我得到了這個字串 "bbbbffff",我想以這種形式得到一個串列:
['b', 'b', 'b', 'b', 'f', 'f', 'f']
我認為我可以使用map,但真誠地說,我不知道如何開始,而且在Haskell中我有很多東西不明白。
預先感謝。
uj5u.com熱心網友回復:
默認情況下,一個String已經是一個[Char](見specification):
一個字串是一個字符的串列:
type String = [Char]/span>
它們根本不會列印成['b','b','b',...],因為[Char]和String是同一型別,因此無法區分,必須以同樣的方式顯示。事實上,如果你輸入你的串列,你會看到它被格式化為一個字串:
Prelude> 42。
42; 42?
Prelude> [1,2, 3]
[1,2, 3]
Prelude> ['b','b','b','f','f','f']
"bbbbbffff"。
這意味著你可以立即把它傳遞給任何串列函式,而不需要對它做任何處理:
myLength :: [Char] ->Int
myLength (c:rest) = 1 myLength rest
myLength [] = 0
--列印11。
main = print (myLength "hello world")
還有其他的文本資料型別,如Data.Text,但這些是更高級的使用,必須明確啟用和使用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/316962.html
標籤:
上一篇:除了包含特定值的行或列中的值之外,替換矩陣中所有值的有效方法是什么?
下一篇:無法打開dat.txt檔案
