Re: Re: Bug in Pattern Matching with Condition?
- To: mathgroup at smc.vnet.net
- Subject: [mg97323] Re: [mg97279] Re: Bug in Pattern Matching with Condition?
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Wed, 11 Mar 2009 04:21:10 -0500 (EST)
- References: <goqpe7$lrn$1@smc.vnet.net> <goqugt$ngp$1@smc.vnet.net> <200903101032.FAA09839@smc.vnet.net>
No, the Varbatim is wrapped around the Head, Condition not around the entire expression. You can do it also with HoldPattern: MatchQ[a /; b, HoldPattern[Condition][_, _]] True Once you hold the Head of the pattern expression it no longer has its special meaning. You can check that Condition behaves is a very special way when used in a pattern, e.g. MatchQ[x, Condition[_, True]] True MatchQ[x, Condition[_, False]] False Of course if you replace Condition by Verbatim[Condition] or HoldPattern[Condition] you will always get False. Andrzej Kozlowski On 10 Mar 2009, at 11:32, dh wrote: > > > Hi Jens, > > can you elaborate a bit. According to the definition of Verbatim , > > Verbatim[Condition][_, _]] should match literally "Condition][_, _]" > and > > not Condition[a, b]. Therefore it looks more like another bug to me > and > > adds to the mystery of why MatchQ[Condition[a, b], Condition[_, _]] > > evaluates to False. > > Daniel > > > > Jens-Peer Kuska wrote: > >> Hi, > >> > >> but > >> > >> MatchQ[Condition[a, b], Verbatim[Condition][_, _]] > >> > >> Regards > >> Jens > >> > >> cesar wrote: > >>> Hi Mathematica group, do you get any idea of > >>> why the following sentences don't give true? > >>> > >>> MatchQ[Condition[a, b], Condition[_,_]] > >>> MatchQ[Condition[a, b], Condition[__]] > >>> MatchQ[Condition[a, b], HoldPattern[Condition[__]]] > >>> > >>> Is this a bug? > >>> > >>> Cheers, > >>> Cesar > >>> > >> > > >
- References:
- Re: Bug in Pattern Matching with Condition?
- From: dh <dh@metrohm.com>
- Re: Bug in Pattern Matching with Condition?