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

Home » Public Forums » archive » keyword_set bug or feature
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_set bug or feature [message #4227 is a reply to message #4216] Fri, 12 May 1995 00:00 Go to previous messageGo to previous message
thompson is currently offline  thompson
Messages: 584
Registered: August 1991
Senior Member
phil@peace.med.ohio-state.edu (Phil) writes:

> Thanks to those who responded to my ? concerning common blocks.

> I just can across another 'feature' and was wondering if others felt
> that it is really a 'bug' or if there is some way to over come it. It
> has to do with keywords in functions or procedures. I use several and
> check to see if the are set using

> IF NOT(keyowrd_set(key)) THEN BEGIN
> ;set a default value here
> ENDIF

> The problem comes in if the user wants to set key = 0. If so then it
> appears to the above test that the keyword is not set even though in
> the function call the user typed
>
> Result = somefunction(var,key=0)

> What gives? Can I just add key = key + 1 and key = key - 1 around the
> testing if statement?


This is a very common error that people make. They want to use KEYWORD_SET()
to test for the *existence* of keyword variables. KEYWORD_SET() is *only* for
keywords which can take True or False values, and has the (quite correct in my
opinion) property that not passing something is the same as passing it as
False.

To test for the *existence* of keywords that can take arbitrary values, use the
function N_ELEMENTS() instead.

Bill Thompson
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Angstrom symbol
Next Topic: IDL spreadsheet??

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

Current Time: Thu Oct 09 21:48:18 PDT 2025

Total time taken to generate the page: 0.55776 seconds