[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: IDL interpreter questions - can someone (D.Fanning) explain - TIA
<mankoff@I.HATE.SPAM.lasp.colorado.edu> writes:
> On Fri, 18 May 2001, JD Smith wrote:
>
> > dadada wrote:
> > > How are variables referenced by default?
> > I'm not sure what you mean here. Pointer references? They are explicit
> > only... i.e. you can't create a reference of an existing variable.
>
> Not sure either, but here is my interpretation of the question/answer:
>
> In functions, variables are *always* 'by value'
> In procedures, they are 'by value' unless you put a "return" statement
> anywhere in the procedure. If this exists, then they are passed 'by
> reference'
Sorry Ken I'm going to have to take you to task for a few things.
First of all, pass by value vs. pass by reference:
* all variables are passed by reference, *except*
* subscripted arrays, structure tags, and (I believe) system variables,
which are passed by value
It doesn't make a difference whether you have a return statement or
not.
As for continuations, closures, etc., these are computer science
jargon for specific language behaviors. IDL has none of them. I
understand continuations to be a way for execution contexts to be
suspended, saved, and later restored. Perhaps the CATCH error
handling technique is a nascent continuation. Alas, this has nothing
to do with the CONTINUE reserved word recently added to FOR and WHILE
loops.
Craig
--
--------------------------------------------------------------------------
Craig B. Markwardt, Ph.D. EMAIL: craigmnet@cow.physics.wisc.edu
Astrophysics, IDL, Finance, Derivatives | Remove "net" for better response
--------------------------------------------------------------------------