comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: ROUTINE_NAMES and other magic
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: ROUTINE_NAMES and other magic [message #19851 is a reply to message #19843] Tue, 18 April 2000 00:00 Go to previous messageGo to previous message
Craig Markwardt is currently offline  Craig Markwardt
Messages: 1869
Registered: November 1996
Senior Member
"R.Bauer" <R.Bauer@fz-juelich.de> writes:
> Craig Markwardt wrote:
>
>> One thing that ROUTINE_NAMES() (**note) cannot do is *add* variables
>> to another level. If the variable exists, then you can muck as much
>> as you want with it, but if it doesn't exist, sorry.
>
> You can add variables to another level.
> Try this!
>
>
>
> PRO DEEPSTOP, level
> IF level EQ 1 THEN BEGIN
> level = ROUTINE_NAMES(/LEVEL)
> varName = 'A'
> void = ROUTINE_NAMES(varName, STORE=(level+1), 8)
> ENDIF
> IF level EQ 2 THEN begin
> print,a
> STOP
> end
> deepstop, level + 1
> END

Ahhh, but I argue that your procedure works for the reasons I said
before. The variable A already existed in the procedure because you
used it in a statement ("print, a"). So you really were not *adding*
the variable to the procedure.

Try this one:

PRO DEEPSTOP2, level
IF level EQ 1 THEN BEGIN
; a = 0
level = ROUTINE_NAMES(/LEVEL)
varName = 'A'
void = ROUTINE_NAMES(varName, STORE=(level+1), 8)
help
ENDIF
IF level EQ 2 THEN begin
help
STOP
end
deepstop, level + 1
END

This procedure does not mention "A" explicitly anywhere, and I can't
get beyond the first IF clause.

IDL> deepstop2, 1
% ROUTINE_NAMES: Variable is undefined: A.
% Execution halted at: DEEPSTOP2 5 /dev/tty
% $MAIN$

But, if you uncomment the "a=0" line above, then you can get further.
What I find is that the value of A is set at *both* levels!

I am using an older version of IDL, 5.2. This tells me that the
functionality of ROUTINE_NAMES continued to evolve between versions,
and that you can't be guaranteed to be able to add new variables in
older versions.

IDL> help, !version, /str
** Structure !VERSION, 5 tags, length=80:
ARCH STRING 'alpha'
OS STRING 'OSF'
OS_FAMILY STRING 'unix'
RELEASE STRING '5.2'
BUILD_DATE STRING 'Oct 30 1998'

Craig


--
------------------------------------------------------------ --------------
Craig B. Markwardt, Ph.D. EMAIL: craigmnet@cow.physics.wisc.edu
Astrophysics, IDL, Finance, Derivatives | Remove "net" for better response
------------------------------------------------------------ --------------
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Sv: Object graphics polygons
Next Topic: how to read GRIB format data (NCEP monthly U/VFlux data)

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 15 14:11:53 PDT 2025

Total time taken to generate the page: 1.75765 seconds