簡體   English   中英

Haskell 列表類型轉換

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM