Re: Is it an IDL bug or feature? [message #5243 is a reply to message #5239] |
Thu, 26 October 1995 00:00  |
chase
Messages: 62 Registered: May 1993
|
Member |
|
|
>>>> > "Liyun" == Liyun Wang <Liyun.Wang.1@gsfc.nasa.gov> writes:
Liyun> In a process of debugging our IDL codes, we found an
Liyun> interesting case which you may want to be aware of. Consider
Liyun> this:
IDL> b = 1
IDL> a = b(1,2,1)
Liyun> IDL will complain about subscript being out of range. But watch this:
IDL> b = 1
IDL> a = b([2],[1],[2])
Liyun> or
IDL> a = b([[2],[1],[10],[30]])
Liyun> or even
IDL> a = b([[2],[,1],[10],[30]], [[20],[12],[70],[20]])
Liyun> What do you think IDL will respond? Will it issue a syntax
Liyun> error message? Wrong! As long as the subscript indices of a
Liyun> *scalar* variable, like b here, are arrays with the same
Liyun> dimension, IDL does not care nor complain, no matter how many
Liyun> array elements you give. Do you consider this to be a potential
Liyun> bug or a feature of IDL?
It is not a bug. The specific behaviors are clearly documented
features in Chapter 5 of the "IDL User's Guide" (version 3.5 and
version 4, perhaps earlier too) under the subsections "Subscript
Examples" and "Array Subscripts".
It does seem unfortunate the behavior seems inconsistent. I find that
both behaviors are useful.
Chris
--
===============================
Bldg 24-E188
The Applied Physics Laboratory
The Johns Hopkins University
Laurel, MD 20723-6099
(301)953-6000 x8529
chris.chase@jhuapl.edu
|
|
|