gpt4 book ai didi

string - 字符串函数中的 Haskell 字符

转载 作者:行者123 更新时间:2023-12-04 12:19:09 25 4
gpt4 key购买 nike

嘿,我是 Haskell 的新手,我遇到了一个小问题。
我想编写一个函数来检查给定的字符是否在给定的字符串中。这是我的代码:

inString :: String -> Char -> Bool 
inString [] _ = False
inString x c = x == c
inString x:xs c = inString xs c
对我来说这很有意义,因为我知道字符串只是字符列表。但我收到了 Parse error in pattern : inString .
任何帮助,将不胜感激。

最佳答案

您必须考虑每个表达式的类型:

inString :: String -> Char -> Bool 
inString [] _ = False
inString (x::String) (c::Char) = x == c -- won't compile char and strings cannot be compared because they have different type
inString (x:xs) c = inString xs c -- add parenthesis to x:xs -> (x:xs)
所以一种可能的方法是:
inString :: String -> Char -> Bool 
inString [] _ = False
inString (x:xs) c = if x == c then True else inString xs c

关于string - 字符串函数中的 Haskell 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68749693/

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