MathGroup Archive 2010

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

Search the Archive

Re: Pattern: x_List with conditions on elements

  • To: mathgroup at
  • Subject: [mg110912] Re: Pattern: x_List with conditions on elements
  • From: telefunkenvf14 <rgorka at>
  • Date: Sun, 11 Jul 2010 06:19:46 -0400 (EDT)
  • References: <i13tqo$7h7$> <i15qqr$ktt$>

On Jul 8, 7:34 pm, Peter Breitfeld <ph... at> wrote:
> telefunkenvf14 wrote:
> > Group:
> > 1. Can someone provide a clearer way of implementing the following
> > example? (Goal: I want a pattern that accepts only a list of real
> > numbers and what I have seems hacky.)
> > MatchQ[{1, 2, 2.2},x_?(VectorQ[#,(NumericQ[#]&&Im[#]==0)&]&)]
> > 2. Could someone show me how to create a second pattern which accepts
> > only a list (vector) of symbols? I feel like I'm spinning my wheels a
> > bit on this one...
> > 3. Does anyone else think it would be nice to compile a list of
> > favorite/useful patterns, along with a very brief explanation of the
> > intent? (And yes, I know there are a bunch of examples in the
> > documentation(!), but I'm thinking more in terms of assembling a list
> > of recipes.) I guess I'm just craving more guided examples.
> > -RG
> The answer to question 1 could be:
> realpatt={_Real..}
> Question 2 could be done by:
> vectorpatt=v:{_Symbol..}/;VectorQ[v]
> There is a plethora of combinations of patterns, but in my opinion some
> of the fundamental ones are included in the examples above. Mostly it's
> possible to achieve the same goal in different ways.
> --
> _________________________________________________________________
> Peter Breitfeld, Bad Saulgau, Germany --

This is actually part of why I broke down and asked. Guidance on 'best
practices', in regard to different types of pattern-based tasks, seems
hard to come by. Maybe I just need to sign up for M201, or whatever
the course number is...

In general, I guess I'm most interested in restricting input patterns
for functions---but I'm not really sure if it's worth the effort.

How much does Mathematica really benefit by narrowing types of inputs?
(besides the benefit of overloading symbols) For example, does it help
above and beyond simply declaring, say,


  • Prev by Date: Re: replacement x->y except in Exp[x]
  • Next by Date: Re: Documentation build in Workbench
  • Previous by thread: Re: Pattern: x_List with conditions on elements
  • Next by thread: Re: Pattern: x_List with conditions on elements