[英]How to lowercase a string in CLEAN
我在CLEAN中遇到问题,如何在字符串中将所有字母都小写? 我可以通过一个char数组来完成它,但是我也需要使用字符串来完成它。 到目前为止,我的代码如下:
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"
你的第一种情况
stringLower _ = ""
表示应用于所有内容的stringLower
为空字符串。
我很惊讶您没有收到多余的第二种情况的警告。
String
是一个数组(未装箱,因此为{#Char}
),您说您已经知道如何使用数组,但是您的arrayLower
是为Char
( [Char]
)列表而不是数组定义的。
使用数组理解,这对我有用:
stringLower :: String -> String
stringLower s = {toLower c \\ c <-: s}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.