Я хочу реализовать Haskell функцию wordToken
, которая разбивает строку слов на список строк, включающий полные остановки и запятые
Например, "the man saw."
должно привести к ["the", "man","saw","."]
Итак, я проверил, является ли Char запятой или полной остановкой, а затем просто добавьте его как есть. Затем, если это Char, а затем Char, добавьте их обоих. Иначе, если это Char, а затем пробел, добавьте его и продолжите до конца списка. Но я не уверен, как мне сказать, чтобы они разделяли сами слова, или когда я добавляю символ к символу, то это новая строка
wordToken []= " "
wordToken (x:y:z) | x==',' || x=='.' = " "(++)x:wordToken( y:z)
| x/='\n' && y/='\n'= " "(++)x(++)y(++)wordToken z
| x/='\n' && y=='\n'= " "(++)x:wordToken z
| otherwise = wordToken z
Я также попытался использовать функцию слова и просто добавить часть знаков препинания, но это дало мне несоответствие типов wordToken (x: xs) | х == '' || x == ',' = 'x': wordToken xs | в противном случае = слова (x: xs)