[英]Haskell list type conversion
支持 我有一個 [Char] 類型的列表,如果我刪除將它們描述為字符的引號,則所包含的值是不同類型的值。 例如,['2','3','4'] 表示給定我們更改其類型的整數列表。
我有一個類似但更復雜的要求,我需要將 [Char] 更改為 [SomeType],其中 SomeType 是對應於沒有字符引號的值的任意類型。
假設您有一些函數foo :: Char -> SomeType
,您只需要將這個函數映射到您的Char
列表上。
bar :: [Char] -> [SomeType]
bar cs = map foo cs
我希望我能正確理解這一點,並且有一種方法(如果數據構造函數也只是一個字母)-您使用自動推導Read
:
data X = A | B | Y
deriving (Show, Read)
parse :: String -> [X]
parse = map (read . return)
( return
只會將單個字符包裝回單例列表,使其成為String
)
λ> parse "BAY"
[B,A,Y]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.