Re: idl5.3 create_struct() [message #18497] |
Wed, 05 January 2000 00:00 |
R.Bauer
Messages: 1424 Registered: November 1998
|
Senior Member |
|
|
Liam Gumley wrote:
>
> "R.Bauer" wrote:
>> I was very surprised and afraid this morning about the definition
>> changes of possible signs on tagname definitions.
>>
>> The only non_alphanumeric signs which are allowed in the new version is
>> '$' and '_'.
>> The '!' sign is only defined for the first place.
>>
>> a=create_struct('test@core',1)
>> % CREATE_STRUCT: Illegal tag name: test@core.
>> % Execution halted at: $MAIN$
>>
>> I have had no information about such changes I don't found any hint's in
>> the what's new topics.
>
> I noticed the same thing in the IDL 5.3 beta release in September 1999.
> RSI technical support told me this was a *bug* in IDL prior to version
> 5.3. According to the IDL documentation, structure tag names must
> conform to the same rules as variable names. As far back as IDL 5.1,
> this was documented in 'Building IDL Applications/Structures/Creating
> and Defining Structures':
>
> "Structure names and tag names follow the rules of IDL identifiers: they
> must begin with a letter; following characters can be letters, digits,
> or the underscore or dollar sign characters; and case is ignored."
I am hoping that's there is a bug in the description because I am using
very often
the '!' sign in the first place.
IDL> a=create_struct('!global','test')
IDL> help,a,/str
** Structure <1354968>, 1 tags, length=8, refs=1:
!GLOBAL STRING 'test'
I need this sign to separate user defintion from system definitions.
R.Bauer
-
Attachment: R.Bauer.vcf
(Size: 0.00KB, Downloaded 83 times)
|
|
|
Re: idl5.3 create_struct() [message #18502 is a reply to message #18497] |
Wed, 05 January 2000 00:00  |
Craig Markwardt
Messages: 1869 Registered: November 1996
|
Senior Member |
|
|
Liam Gumley <Liam.Gumley@ssec.wisc.edu> writes:
> "R.Bauer" wrote:
>> I was very surprised and afraid this morning about the definition
>> changes of possible signs on tagname definitions.
>>
>> The only non_alphanumeric signs which are allowed in the new version is
>> '$' and '_'.
>> The '!' sign is only defined for the first place.
>>
>> a=create_struct('test@core',1)
>> % CREATE_STRUCT: Illegal tag name: test@core.
>> % Execution halted at: $MAIN$
>>
>> I have had no information about such changes I don't found any hint's in
>> the what's new topics.
>
> I noticed the same thing in the IDL 5.3 beta release in September 1999.
> RSI technical support told me this was a *bug* in IDL prior to version
> 5.3. According to the IDL documentation, structure tag names must
> conform to the same rules as variable names. As far back as IDL 5.1,
> this was documented in 'Building IDL Applications/Structures/Creating
> and Defining Structures':
It's pretty funny too. Try these with an older version of IDL:
a = create_struct('(1)', 1)
a = create_struct('1', 1)
a = create_struct('.', 1)
That's just not right. Pretty cool though.
Craig
--
------------------------------------------------------------ --------------
Craig B. Markwardt, Ph.D. EMAIL: craigmnet@cow.physics.wisc.edu
Astrophysics, IDL, Finance, Derivatives | Remove "net" for better response
------------------------------------------------------------ --------------
|
|
|
Re: idl5.3 create_struct() [message #18505 is a reply to message #18497] |
Wed, 05 January 2000 00:00  |
Liam E. Gumley
Messages: 378 Registered: January 2000
|
Senior Member |
|
|
"R.Bauer" wrote:
> I was very surprised and afraid this morning about the definition
> changes of possible signs on tagname definitions.
>
> The only non_alphanumeric signs which are allowed in the new version is
> '$' and '_'.
> The '!' sign is only defined for the first place.
>
> a=create_struct('test@core',1)
> % CREATE_STRUCT: Illegal tag name: test@core.
> % Execution halted at: $MAIN$
>
> I have had no information about such changes I don't found any hint's in
> the what's new topics.
I noticed the same thing in the IDL 5.3 beta release in September 1999.
RSI technical support told me this was a *bug* in IDL prior to version
5.3. According to the IDL documentation, structure tag names must
conform to the same rules as variable names. As far back as IDL 5.1,
this was documented in 'Building IDL Applications/Structures/Creating
and Defining Structures':
"Structure names and tag names follow the rules of IDL identifiers: they
must begin with a letter; following characters can be letters, digits,
or the underscore or dollar sign characters; and case is ignored."
Prior to IDL 5.3, create_struct() did not check for legal tag names. In
IDL 5.3, it does.
Cheers,
Liam.
--
Liam E. Gumley
Space Science and Engineering Center, UW-Madison
http://cimss.ssec.wisc.edu/~gumley
|
|
|