gpt4 book ai didi

string - Haskell 将空字符传递给函数

转载 作者:行者123 更新时间:2023-12-01 23:00:20 25 4
gpt4 key购买 nike

我在 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)

我的问题是当我尝试时: before 'l' "luis"
答案是: ' ' (当然,之前 'l'什么都没有),我想是 ''Nothing
我试过了 trackelement x '' str而不是 trackelement x ' ' str但我有这个错误 Syntax error on ''str
你能给我建议吗?

最佳答案

已经显示的答案对于让您的代码正常工作很有用,但它们并没有解释为什么您会收到您收到的错误。显示该错误的原因是 ''不是有效的语法,因为没有“空字符”这样的东西。所有字符都有值,但 String s 可以为空。请记住 type String = [Char] ,而且很明显可以有空列表这样的东西,但字符总是有一个值。这相当于说你可以有一个空列表 Int s,即 [] ,但你不能有一个“空整数”,不管这意味着什么。

关于string - Haskell 将空字符传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25271939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com