Re: Pure recursive functions
- To: mathgroup at smc.vnet.net
- Subject: [mg38378] Re: [mg38341] Pure recursive functions
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Fri, 13 Dec 2002 04:09:39 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Just one more thing. Your original idea works if you use Block instead
of With:
In[61]:=
Block[{fact = Function[n, If[n == 0, 1, n fact[n - 1]]]}, fact[5]]
Out[61]=
120
Andrzej Kozlowski
Yokohama, Japan
http://www.mimuw.edu.pl/~akoz/
http://platon.c.u-tokyo.ac.jp/andrzej/
On Friday, December 13, 2002, at 12:05 AM, Andrzej Kozlowski wrote:
> Well, the only thing that comes to my mind is to use replace # by Slot:
>
> Function[If[Slot[1] == 0, 1, Slot[1] Slot[0][Slot[1] - 1]]]
>
> Is that any better?
>
> With best regards
>
> Andrzej
>
>
>
>
> On Thursday, December 12, 2002, at 11:43 PM, Niall Palfreyman wrote:
>
>> Andrzej Kozlowski schrieb:
>>
>>> Function[If[#1 == 0, 1, #1 #0[#1 - 1]]]
>>
>> Thanks very much for the tip. And as always with such questions, as
>> soon
>> as you answer it, I notice that I asked the wrong question. What I
>> still
>> would like to know is whether I can specify local names for these
>> arguments (using With[] or somesuch), since I'm creating a worksheet
>> for
>> students, and the # arguments are a little hard to read. Any ideas?
>>
>> Best wishes,
>> Niall.<niall.palfreyman.vcf>
> Andrzej Kozlowski
> Yokohama, Japan
> http://www.mimuw.edu.pl/~akoz/
> http://platon.c.u-tokyo.ac.jp/andrzej/
>
>