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

Home » Public Forums » archive » Test if variable is a string
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: Test if variable is a string [message #34108 is a reply to message #33913] Mon, 17 February 2003 02:36 Go to previous message
R.Bauer is currently offline  R.Bauer
Messages: 1424
Registered: November 1998
Senior Member
M. Katz wrote:


Did you recognize the tname keyword of size?

IDL> print,size(10L,/tname)
LONG

regards
Reimar

> Here's a handy little function I've been using for years.
> var_type.pro
> I think I added a number of new type names back in 2001.
> If RSI adds more types in the future, they'll probably
> be appended to the list rather than change the existing list.
> In that case, you'll have to modify the list.
>
> So the function returns the type as a number. But if
> you set the /string keyword, you'll get a string containing
> the name of the type.
>
> For example:
> IDL> print, var_type(10L)
> 3
> IDL> print, var_type(10L, /s)
> Longword Integer
>
> ;+
> ; IDL function: var_type.pro
> ; for a given input variable, this function returns
> ; the type of that variable. The returned value is a number 0-15
> ; similar to the second-to-last field in the "size" function,
> ; or if the keyword "string" is used, a string.
> ;-
>
> function var_type, a, string=string
>
> s = ['Undefined','Byte','Integer','Longword
> Integer','Floating-point', $
> 'Double-precision floating','Complex
> floating','String','Structure', $
> 'Double-precision complex','Pointer','Object reference', $
> 'Unsigned Integer','Unsigned Longword Integer','64-bit
> Integer',$
> 'Unsigned 64-bit Integer']
>
> return, Keyword_set(string) ? s(size(a, /type)):size(a, /type)
> end
>
> I also have a closely related function called defined.pro that tests
> true-or-false, if a given variable is defined or not. It also uses
> size(x, /type), that's why I'm including it here.
>
> ;+
> ; IDL function: defined.pro
> ; For a given input variable, this function returns
> ; 1b if the variable is defined
> ; 0b if the variable is undefined
> ;-
>
> function defined, a
> return, (size(a, /type) NE 0)
> end
>
>
> Hope this helps,
>
> M. Katz


--
Reimar Bauer

Institut fuer Stratosphaerische Chemie (ICG-I)
Forschungszentrum Juelich
email: R.Bauer@fz-juelich.de
------------------------------------------------------------ -------
a IDL library at ForschungsZentrum Juelich
http://www.fz-juelich.de/icg/icg-i/idl_icglib/idl_lib_intro. html
============================================================ =======
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Previous Topic: Re: Printing line number of an error
Next Topic: UNIQ without SORT

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

Current Time: Fri Oct 10 00:33:46 PDT 2025

Total time taken to generate the page: 0.16216 seconds