Я смотрю учебник RWH здесь , который предлагает, но имеет ошибку, при использовании [String]
для возврата нескольких результатов.Как вы можете видеть:
"I'd like to group by word breaks" =~ "\\S+" :: Bool
"I'd like to group by word breaks" =~ "\\S+" :: String
"I'd like to group by word breaks" =~ "\\S+" :: [[String]]
производит
True
"I'd"
[["I'd"],["like"],["to"],["group"],["by"],["word"],["breaks"]]
соответственно.
Но рекомендуемый [String]
нет, и вместо этого есть ошибка:
"I'd like to group by word breaks" =~ "\\S+" :: [String]
<interactive>:1:1: error:
• No instance for (RegexContext Regex String [String]) arising from a use of ‘=~’
• In the expression: "I'd like to group by word breaks" =~ "\\S+" :: [String]
In an equation for ‘it’: it = "I'd like to group by word breaks" =~ "\\S+" :: [String]
Как я могу попросить пропущенное [String]
-подобное предложение типа, которое обеспечит то, что я ищу, а именно:
["I'd","like","to","group","by","word","breaks"]
без необходимости постобработки?Кроме того, интересно, что это кажется естественным в контексте других успешных преобразований типов, и это даже работало таким образом в один момент, когда книга была написана, и больше не работает.Чем объясняется изменение?