Как сделать строчную строчку в CLEAN

У меня есть проблема в CLEAN, как я могу сделать строчные все буквы в строке? Я могу сделать это через массив символов, но мне нужно сделать это и со строкой. Пока у меня есть код ниже:

module Something

import StdEnv, StdLib

arrayLower:: [Char] -> [Char]
arrayLower[x:xs] = (map toLower [x:xs]) 


stringLower:: String -> String
stringLower_ = ""
stringLowers = toString (arrayLower s)

Start:: String     
Start = stringLower"SSSsss"

1 ответ

Решение

Ваш первый случай

stringLower _ = ""

Значит это stringLower к чему-либо применяется пустая строка.
Я удивлен, что вы не получили предупреждение за лишний второй случай.

String это массив (без коробки, так что это {#Char}), и вы говорите, что уже знаете, как сделать это с массивами, но ваши arrayLower определяется для списков Char ([Char]), а не массивы.

Это, используя понимание массива, работает для меня:

stringLower :: String -> String
stringLower s = {toLower c \\ c <-: s} 
Другие вопросы по тегам