Подтвердить что ты не робот

Char для функции строки

У меня очень простой вопрос, если у вас есть функция, в которой задан char, а затем выводится строка;

test :: Char -> [String]

Как преобразовать char в строку? Я запутался в двух типах.

4b9b3361

Ответ 1

В Haskell String есть псевдоним для [Char]:

type String = [Char]

Если вам просто нужна функция, которая преобразует один char в строку, вы можете, например. сделать

charToString :: Char -> String
charToString c = [c]

Если вы предпочитаете стиль pointfree, вы также можете написать

charToString :: Char -> String
charToString = (:[])

Ответ 2

A Строка - это просто [ Char]

Но это просто хороший способ сказать

'H':'E':'L':'L':'O':[]

Итак, чтобы сделать это [String], мы могли бы сделать:

['H':'E':'L':'L':'O':[]]

Ответ 3

Другой способ:

return . return

Так как return для списков определяется как :[]

Ответ 4

Обратите внимание, что вы можете преобразовать любой тип, реализующий класс типа Show в строку, используя Show:

(Show a) => a -> String

Поскольку Char реализует это, функция уже написана для вас!