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

Home » Public Forums » archive » Re: keyword issue (top 10 IDL request?)
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: keyword issue (top 10 IDL request?) [message #20772 is a reply to message #20768] Wed, 19 July 2000 00:00 Go to previous message
Liam E. Gumley is currently offline  Liam E. Gumley
Messages: 378
Registered: January 2000
Senior Member
Kenneth Mankoff wrote:
> here is another thing with current versions of IDL that causes problems
> and confuses me:
>
> a keyword set to 0 should not be undefined, it should be defined as zero.
> For example:
>
> IDL> create_globe, lat=90, long=0, ...
> I want create_globe to put longitude 0 at the center of the image (i.e.
> pass "0" to map_set). But if i don't use long= at all, then it should be
> undefined, and the following code should run (inside create_globe)
> IF ( NOT KEYWORD_SET( long ) ) THEN long = 277.5 ;;; geomagnetic pole '98
>
> However, the above line of code runs even if i set long to "0". I have
> been using long=0.1 as a work-around, but this is an ugly hack that others
> might not think to use.
>
> any ideas to fix this are welcome, and if no one has any good ideas, then
> please add this to your top ten list, David Fanning.

I like to make a clear distinction between keywords which are used to
supply a value, and keywords which represent a Boolean flag.

To check a keyword which supplies a value (as in your case), and set a
default value if the keyword is undefined:

if (n_elements(key_value) eq 0) then key_value = -999.9

To check a keyword which represents a Boolean flag:

if keyword_set(key_boolean) then print, 'True'
if (keyword_set(key_boolean) eq 1) then print, 'True'
if (keyword_set(key_boolean) eq 0) then print, 'False'

If you wish to pass a Boolean keyword from inside your
procedure/function another procedure or function:

myfunc, arg1, arg2, key=keyword_set(key_boolean)

Cheers,
Liam.
[Message index]
 
Read Message
Read Message
Read Message
Previous Topic: Hints for optical flow analysis anyone?
Next Topic: keyword issue (top 10 IDL request?)

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

Current Time: Thu Oct 16 01:27:51 PDT 2025

Total time taken to generate the page: 1.59826 seconds