Могу ли я создать функцию Haskell, которая поместит несколько строк в кортеж или список? - PullRequest
0 голосов
/ 25 мая 2018

Например, у меня есть входная строка: "aaa bbb ccc dddd" и моя функция дает мне

["aaa", "bbb", "ccc", "dddd"]

или

("aaa", "bbb", "ccc", "dddd")

Возможно?

1 Ответ

0 голосов
/ 25 мая 2018

Мы можем просто рассуждать о типах и затем искать функцию в Hoogle.

Например, вам нужна функция, которая принимает String и возвращает список String с, напримерString -> [String].Давайте посмотрим на это:

https://www.haskell.org/hoogle/?hoogle=String+-%3E+%5BString%5D

Первый - lines с описанием:

разбивает строку на список строк всимволы новой строки.Результирующие строки не содержат символов новой строки.

Хм, но нам нужно разбивать пробелы, а не только символы новой строки.Может быть, есть что-то еще?

А как же words?

разбивает строку на список слов, разделенных пробелом.

Да, верно, один.

Таким образом, ответ:

Вам нужна функция words :

words "aaa bbb ccc dddd" return ["aaa","bbb","ccc","dddd"]

...