簡體   English   中英

要列出的Haskell字符串

[英]Haskell string to list

[ “6”, “”,“[[1,2,3,4,5,6],[7,8,9,10,11,12],[第13,14,15,16,17,18條],[19,20,21,22,23,24],[25,26,27,28,29,30],[31,32,33,34,35,36]]“我必須從這6和[[1,2,3,4,5,6],[7,8,9,10,11,12],[13,14,15,16,17,18],[19,20] ,21,22,23,24],[25,26,27,28,29,30],[31,32,33,34,35,36]]我從文件中讀取文件看起來

6. [[1,2,3,4,5,6],[7,8,9,10,11,12],[13,14,15,16,17,18],[19,20, 21,22,23,24],[25,26,27,28,29,30],[31,32,33,34,35,36]。

我嘗試使用map並讀取轉換字符串,但它無法正常工作。 sry for english

直接使用mapread的問題是,list元素並不都具有相同的類型。 第一個元素是(或者更好:應該轉換為)一個Int ,第二個元素是空列表,第三個元素是`[[Int]]

要將列表的第一個元素轉換為Int ,您可以說類似於read $ head xs :: Int ,其中xs是您的字符串列表。

第二個元素不能通過read直接轉換,因為空字符串將導致異常(Prelude.read:no parse)。

要轉換第三個元素,這是一個整數列表的列表,你可以簡單地說像read $ xs !! 2 :: [[Int]] read $ xs !! 2 :: [[Int]]

這不安全或優雅,但如果您的輸入總是具有這種結構,它應該工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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