Named patterns forbidden in Except?
- To: mathgroup at smc.vnet.net
- Subject: [mg110435] Named patterns forbidden in Except?
- From: cca at gregosetroianos.mat.br
- Date: Fri, 18 Jun 2010 01:24:24 -0400 (EDT)
Hi,
Consider this:
In[1]:= Cases[{-0.5, 1, -3, 2/5, I}, Except[x_Integer]]
During evaluation of In[1]:= Except::named: Named pattern variables are not
allowed in the first argument of Except[x_Integer]. >>
Out[1]= {}
Why are named patterns not allowed in Except?
Recently, during a course of mine (on Mathematica), I needed to illustrate
the concept of function as a set of ordered pairs. I had the following
definiton(inter alia):
FunctionQ[f_] := MatchQ[f, {{_, _} ...}] &&
! MatchQ[f, {___, {x_, _}, ___, {x_, _}, ___}]
Then it occurred to me to use Except with two arguments just to give it a
chance to shine in the course:
(*doesn=B4t work!*)
FunctionQ[f_] :=
MatchQ[f, Except[{___, {x_, _}, ___, {x_, _}, ___}, {{_, _} ...}]]
Wouldn't this be simpler and natural? I would much appreciate any
explanation...
Atenciosamente,
Carlos C=E9sar de Ara=FAjo
Gregos & Troianos Educacional
www.gregosetroianos.mat.br
Belo Horizonte, MG, Brasil
(31) 3283-1122