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

Home » Public Forums » archive » static variable mayhem
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
static variable mayhem [message #11685] Mon, 11 May 1998 00:00 Go to previous message
T Bowers is currently offline  T Bowers
Messages: 56
Registered: May 1998
Member
Hi.
I'm trying to do something very simple, but IDL 5.02 is fighting me. I'm
trying
to have what would be a static variable in c/c++ in a function set as a flag
so
that it is initialized when i come in, like so:

function foofunc, x
;In c/c++ I would put this next line to init my flag the 1st time this fn
is called
; from foopro below.
;static int firstTimeInFooFunc = 1; ;Set to 1 ONLY the 1st time foofunc
called

if (firstTimeInFooFunc) then begin
firstTimeInFooFunc = 0 ;Set so this'll never happen again on subsequent
calls
return, x = x - 1
endif $
else return, x = x + 1
end

pro foopro
x = foofunc(0)
print, x
x = foofunc(x)
print, x
x = foofunc(x)
print, x
return
end

the output I want is:
-1
0
1

I tried:
function foofunc, x
common CBlock, firstTimeInFooFunc = 1
...

but IDL won't let me initialize firstTimeInFooFunc like this.
Then I thought probably IDL would initialize it for me automatically to 0.
So i just changed the code to:

...
function foofunc, x
common CBlock, firstTimeInFooFunc ;I think this'll init to 0

if (NOT firstTimeInFooFunc) then begin ;init'd to 0, so I'll just NOT
the bastard
firstTimeInFooFunc = 1 ;Set so this'll never happen again on subsequent
calls
return, x = x - 1
endif $
...

No such luck. It compiles, but when I single step to this line, I get
% Variable is undefined: FIRSTTIMEINFOOFUNC (CBLOCK).
% Execution halted at: FOOFUNC blah, blah, blah

I'm *sure* I'm missing something here. Doesn't IDL have static variables?
Can anybody help, please?
[Message index]
 
Read Message
Read Message
Previous Topic: Re: IDL 5.1 & ActiveX
Next Topic: Re: IDLSPEC

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

Current Time: Wed Oct 08 17:15:17 PDT 2025

Total time taken to generate the page: 0.00374 seconds