MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: And and Not for patterns

  • To: mathgroup at smc.vnet.net
  • Subject: [mg35990] Re: [mg35965] And and Not for patterns
  • From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
  • Date: Sun, 11 Aug 2002 05:13:50 -0400 (EDT)
  • Sender: owner-wri-mathgroup at wolfram.com

No there isn't one. In fact the only sensible cases in which you might 
wish to use a "And" for patterns seem to be the cases where either all 
patterns arise from pure functions by means of _? (PatternTest) or where 
at most one pattern does not arise in that way. In the first case it is 
clearly simpler to use ordinary && as in:

In[13]:=
Cases[Range[10], _?(PrimeQ[#1] && #1 > 3 & )]

Out[13]=
{5, 7}

the other case is when you mix a true pattern and a pattern test. e.g:

IIn[14]:=
Cases[{0,1,1.5,2},_Integer?(#>1&)]

Out[14]=
{2}

I can't think of any way you could try to combine two patterns that do 
not arise from pure functions, so I don't think such an "And" would be 
very useful. A "Not" for patterns might be perhaps somewhat useful, but 
it can always be constructed by means of the MatchQ predicate:

In[15]:=
Cases[{0,1,1.5,2},_?(!MatchQ[#,_Integer]&)]

Out[15]=
{1.5}




On Saturday, August 10, 2002, at 05:05  AM, Julio Vera wrote:

>
> Dear members,
>
> There is an equivalent of Or (||) to be used with patterns: Alternative
> (|). I couldn't find an equivalent for And (&&) and Not (!). I don't
> know if they don't exist, or it is just that I can`t find them.
>
> Thanks for your help,
>
> Julio
>
>
>
Andrzej Kozlowski
Toyama International University
JAPAN
http://platon.c.u-tokyo.ac.jp/andrzej/



  • Prev by Date: RE: How to import multiple data for tables
  • Next by Date: Re: Re: One to the power Infinity
  • Previous by thread: RE: And and Not for patterns
  • Next by thread: Re: RE: And and Not for patterns