繁体   English   中英

如何在CLEAN中小写字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM