[英]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
直接使用map
和read
的問題是,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.