MathGroup Archive 2002

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

Search the Archive

Re: a question about pattern replacements

  • To: mathgroup at smc.vnet.net
  • Subject: [mg36220] Re: a question about pattern replacements
  • From: Alexander Dreyer <dreyer at itwm.fhg.de>
  • Date: Tue, 27 Aug 2002 02:07:29 -0400 (EDT)
  • Organization: Fraunhofer ITWM
  • References: <ak6ope$e9q$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Sidney Cadot wrote:
> 
> Hi all,
> 
> While playing arounf with patterns and substitutions, I came across the
> following behavior which I didn't expect:
> 
> z := SomeHead[{{1, 2}, {3, 4}}]
> z /. {SomeHead[q_] -> Flatten[q]}
> 
> While this _does_ yield the desired result {1,2,3,4}, Mathematica complains:
> 
> Flatten::"normal": Nonatomic expression expected at position 1 in
> Flatten[q].
> 
> ........as if it is trying to evaluate Flatten[q], with q not bound to
> {{1,2},{3,4}}.
> 
> Could anybody explain why this happens?
> 
> Best regards,
> 
>   Sidney Cadot
Hello,
during the Replaceall (/.) Mathematica first evaluate the rule
SomeHead[q_] -> Flatten[q] . q is stilla symbol then and will be
replaces when /. is used.
You can avoid this Problem by using a delayed rule SomeHead[q_] :>
Flatten[q] or using thr Rule Somehead->Flatten.

Yours,
  Alexander
-- 
 / Alexander Dreyer, Dipl.-Math. - Abteilung Adaptive Systeme        \
/  Fraunhofer Institut fuer Techno- und Wirtschaftsmathematik (ITWM)  \
\  Gottlieb-Daimler-Strasse, Geb. 7^2=49/313  D-67663 Kaiserslautern  /
 \ http://www.itwm.fhg.de    Tel.:(0631)205-2851  Fax:(0631)205-4139 /



  • Prev by Date: Re: Obtaining sequences from lists of lists
  • Next by Date: Re: Obtaining sequences from lists of lists
  • Previous by thread: Re: a question about pattern replacements
  • Next by thread: Auto login function?