Who's up for breaking IDL? [message #35824] |
Sat, 02 August 2003 14:10  |
timrobishaw
Messages: 16 Registered: June 2003
|
Junior Member |
|
|
OK. This one is frustrating. Make a file called resolve_me.pro and
make sure it's in a directory that will be in your !path (or add it to
your !path once inside IDL). Make it a simple procedure, as simple as
could be:
pro resolve_me
END
Now, open IDL.
IDL> resolve_routine, 'resolve_me'
% Compiled module: RESOLVE_ME.
Now, exit IDL.
Rename resolve_me.pro to Resolve_Me.pro.
> mv resolve_me.pro Resolve_Me.pro
Now, open IDL.
IDL> resolve_routine, 'resolve_me'
% Attempt to call undefined procedure/function: 'RESOLVE_ME'.
% Execution halted at: $MAIN$
OK. Let's be case sensitive:
IDL> resolve_routine, 'Resolve_Me'
% Attempt to call undefined procedure/function: 'RESOLVE_ME'.
% Execution halted at: $MAIN$
WTF? Can we even find this routine now?
IDL> .run resolve_me
% Error opening file. File: resolve_me
No such file or directory
Well, I guess not. Oh, wait. Let's think case sensitive again:
IDL> .run Resolve_Me
% Compiled module: RESOLVE_ME.
Huh? Ok. I'll bite. Then why the hell doesn't this work:
IDL> resolve_routine, 'Resolve_Me'
Oh, wait. Now it does. Yeah. I'm confused. What this suggests to me
is that you cannot have a file that stores a routine and name it with
capital letters. (I could call the actual routine name, inside the
file, PRO ReSoLvE_Me... this isn't a case sensitive issue... it's all
about how I choose to name the file.) Otherwise, RESOLVE_ROUTINE will
choke on it if the routine has not already been compiled. That is
dumb. Someone please tell me that I'm right???
-Tim.
|
|
|