MathGroup Archive 1999

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

Search the Archive

Re: List manipulation question

  • To: mathgroup at smc.vnet.net
  • Subject: [mg15944] Re: List manipulation question
  • From: Eckhard Hennig <hennig at itwm.uni-kl.de>
  • Date: Wed, 17 Feb 1999 23:34:07 -0500
  • Organization: ITWM
  • References: <7a2b7v$1t6@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Maarten.vanderBurgt at icos.be schrieb in Nachricht
<7a2b7v$1t6 at smc.vnet.net>...
>
>Dear all,
>
>In the following piece of code I define a function Swap23 which is ment
>to swap elements 2 and 3 in a list.
>Executing the function on a simple list I get an error. Why do I get
>this error? Why do I not get this error when I execute the commnad from
>Swap23 "by hand" as is shown in In[4]?
[...snip...]

Dear Marten,

you get error message because Mathematica replaces the parameter L in your
function by the value of mylist. This causes Swap23 to make an invalid
assignment of the form

  {1, 2, 3}[[2]] = {1, 2, 3}[[3]]

To prevent Mathematica from evaluating L prematurely, use the attribute
HoldAll:

SetAttributes[Swap23, HoldAll]

Swap23[L_]:=Module[
  {temp},
  temp = L[[2]];
  L[[2]]=L[[3]];
  L[[3]] =temp;
  L
]


HTH,

  Eckhard


-----------------------------------------------------------
Dipl.-Ing. Eckhard Hennig      mailto:hennig at itwm.uni-kl.de
Institut fuer Techno- und Wirtschaftsmathematik e.V. (ITWM)
Erwin-Schroedinger-Strasse,  67663 Kaiserslautern,  Germany
  Voice: +49-(0)631-205-3126    Fax: +49-(0)631-205-4139
    http://www.itwm.uni-kl.de/as/employees/hennig.html

     ITWM - Makers of Analog Insydes for Mathematica
        http://www.itwm.uni-kl.de/as/products/ai
-----------------------------------------------------------




  • Prev by Date: Win 98 Printing Problems
  • Next by Date: Outgoing wave boundary conditions with NDSolve
  • Previous by thread: Re: List manipulation question
  • Next by thread: Re: List manipulation question