Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.soft-sys.math.mathematica > #2757

Re: Problem combining patterns

From Leonid Shifrin <lshifr@gmail.com>
Newsgroups comp.soft-sys.math.mathematica
Subject Re: Problem combining patterns
Date 2011-05-28 11:19 +0000
Organization Steven M. Christensen and Associates, Inc and MathTensor, Inc.
Message-ID <irqlng$e7i$1@smc.vnet.net> (permalink)

Show all headers | View raw


You can do

ClassPattern[] := _?(Length[#] === 1 &);

or

ClassPattern[] := _ [ _ ]

Regards,
Leonid


On Fri, May 27, 2011 at 2:12 PM, Rui <rui.rojo@gmail.com> wrote:

> Hey people.
> I want to have an expression that evaluates to a pattern. Imagine
> something simple
>
> ClassPattern[]:=HoldPattern[i_/;Length[i]===1];
> So far so good. But then I'd like to use it in compound expressions
> like
>
> MatchQ[{b[3], c[5]}, {ClassPattern[], ClassPattern[]}]
>
> When I do so, the label "i" inside the pattern is treated as the same
> in both ClassPatterns, so I get false. But I wanna get True in cases
> like the one before
>
> Any ideas?
>
>

Back to comp.soft-sys.math.mathematica | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Re: Problem combining patterns Leonid Shifrin <lshifr@gmail.com> - 2011-05-28 11:19 +0000
  Re: Problem combining patterns David Bailey <dave@removedbailey.co.uk> - 2011-05-29 11:36 +0000

csiph-web