More on recursion...

Michael Kann mikekann at yahoo.com
Fri Aug 30 09:01:01 EDT 2002


Sjoerd, thank you for the examples. Mike

--- Sjoerd Op 't Land <sjoerdoptland at mac.com> wrote:
> Michael Kann wrote/ schreef:
> 
> > <snip>
> > Recursion is one of those items like the ASCII
> chart
> > that for some reason must be in all programming
> books.
> > For what most of us are doing here it really is
> > unnecessary and can cause problems.
> I disagree; what is a more elegant handler to
> calculate 7!, faculty(7)?
> 
>   function faculty v
>     if v is 1 then return 1
>     else return v*faculty(v-1)
>   end faculty
> 
> Or to make a list of all files (also in subfolders)
> in a specific folder?
> 
>   function deepFiles startDir
>     set the cursor to busy
>     if it is "Cancel" then exit to top
>     set the directory to startDir
>     local tFiles
>     repeat for each line tFile in the files
>       put startDir & "/" & tFile into line (the
> number of lines in tFiles
>         + 1) of tFiles
>     end repeat
>     repeat for each line tDir in line 2 to -1 of the
> directories
>       put deepFiles(startDir & "/" & tDir) into line
> (the number of lines in
>         tFiles + 1) of tFiles
>       set the directory to startDir
>     end repeat
>     return tFiles
>   end deepFiles
> 
> Or to repeat a string (just elegant):
> 
>   function repeatstring rChunk,rTimes
>     if rTimes is 1 then return rChunk
>     else return rChunk &
> repeatString(rChunk,rTImes-1)
>   end repeatstring
> 
> I think, if one really thinks structured, it's
> possible to make things much
> simpler with recurred functions.
> 
> > <snip>
> > Good luck, Mike
> Regards, / Groeten,
> Sjoerd
> 
> _______________________________________________
> metacard mailing list
> metacard at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/metacard


__________________________________________________
Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes
http://finance.yahoo.com



More information about the metacard mailing list