Re: Sort within self-defined procedure
- To: mathgroup at smc.vnet.net
- Subject: [mg108631] Re: Sort within self-defined procedure
- From: Leonid Shifrin <lshifr at gmail.com>
- Date: Thu, 25 Mar 2010 04:29:19 -0500 (EST)
Hi,
use SetDelayed (:=) instead of Set (=) to define your function, and
everything will be fine.
ks[x_] := Module[{l},
l = {1, 5, x, 2};
Sort[l, Greater]
]
By using Set, you forced it to evaluate at the moment of the definition,
with <x> as a symbolic quantity.
Regards,
Leonid
On Wed, Mar 24, 2010 at 2:42 AM, dornakul <postitdummy at arcor.de> wrote:
> Hi,
>
> I am desperate. Why is it not possible to sort a list within a self-
> defined procedure?
>
> Here comes the minimal example
>
> In[188]:= ks[x_] = Module[{l},
> l = {1, 5, x, 2};
> Sort[l, Greater]
> ]
>
> Out[188]= {5, x, 2, 1}
>
> In[190]:= ks[20]
>
> Out[190]= {5, 20, 2, 1}
>
> Dornakul
> Using Mathematica 7 on a Windows machine
>
>