Lui*_*ndo 2 string haskell char
我在Haskell中使用两个功能:
基本上我想在匹配给定字符串中的特定字符之前获取字符
这是我的代码:
before :: Char -> [Char] -> Char
before x str = trackelement x ' ' str
trackelement :: Char -> Char -> [Char] -> Char
trackelement x y (z:zs)
| x == z = y
| otherwise = trackelement x z (zs)
Run Code Online (Sandbox Code Playgroud)
我的问题是当我尝试: before 'l' "luis"
答案是:(' '当然,在'l'没有任何东西之前),我想成为''或 Nothing
我尝试通过trackelement x '' str而不是trackelement x ' ' str但我遇到此错误Syntax error on ''str
你能给我一些建议吗?
显示的答案已经很好地使您的代码正常工作,但是它们并没有解释为什么您会收到所收到的错误。之所以显示该错误,''是因为语法无效,因为没有“空字符”之类的东西。所有字符都有值,但Strings 可以为空。请记住type String = [Char],并且很明显可以有一个空列表之类的东西,但是字符总是有值的。这相当于说您可以有一个空的Ints 列表,即[],但是您不能有一个“空int”,无论这意味着什么。