[Haskell-cafe] how to make this work recursive ?
Roelof Wobben
r.wobben at home.nl
Mon Mar 2 08:27:08 UTC 2015
Richard A. O'Keefe schreef op 2-3-2015 om 0:59:
> On 1/03/2015, at 11:17 pm, Roelof Wobben <r.wobben at home.nl> wrote:
>> Now I have to find out how I can test if the LogMessage has the text "this is not the right format" in it.
>
> Well, the Haskell libraries include regular expression support.
> At an elementary level, you can always do
>
> is_prefix_of :: Eq x => [x] -> [x] -> Bool
> is_prefix_of (x:xs) (y:ys) = x == y && is_prefix_of xs ys
> is_prefix_of (x:xs) [] = False
> is_prefix_of [] _ = True
>
>
> is_infix_of :: Eq x => [x] -> [x] -> Bool
>
> is_infix_of xs ys =
> xs `is_prefix_of` ys || (not (null ys) && xs `is_infix_of` tail ys)
>
>
> "this is not the right format" `is_infix_of` aLogMessage
>
> But it would be better if your LogMessage were not a string
> but something structured where you did not have to go looking
> for that text because you KNEW where to look for it.
>
>
I know where to look.
A LogMessage looks like this :
data LogMessage = LogMessage MessageType TimeStamp String
| Unknown String
deriving (Show, Eq)
So if it's Unknown with a string then it will not be inserted into the
MessageTree
The only thing I have to find out if LogMessage contains this.
Roelof
More information about the Haskell-Cafe
mailing list