Re: something like perl's 'require 5.4' [message #24680] |
Wed, 18 April 2001 04:58  |
Paul van Delst
Messages: 364 Registered: March 1997
|
Senior Member |
|
|
JD Smith wrote:
>
> Paul van Delst wrote:
>>
>> JD Smith wrote:
>>>
>>> Paul van Delst wrote:
>>>>
>>>> wot about
>>>>
>>>> IDL> print, double('5.4.1') ge 5.4d0
>>>> 1
>>>>
>>>
>>> Because it's exactly the same! Yes it's ge, but is it gt?
>>>
>>> IDL> print, double('5.4.1') gt 5.4d0
>>> 0
>>>
>>> IDL> print, double('5.4.1') eq 5.4d0
>>> 1
>>>
>>> No it's not, it's eq. Same problem. So use this if you don't care
>>> about the last digit and don't want to be open about it (it's not
>>> exactly obvious this is the case). Use the string compare method
>>> otherwise.
>>>
>>>> Doesn't assuage your other concerns regarding the significance of the last digit however.
>>>> I use comparisons like the above for code that contains BREAK, CONTINUE, SWITCH, etc
>>>> statements. Or similar for the version in which pointers and objects were introduced (5.2?
>>>> can't remember).
>>>
>>> The problem here is you'll not err cleanly... unknown control statements
>>> will cause compile errors. Not a lot that we can do about this.
>>
>> Nuh-uh. They're interpreted as user functions/procedures.
>
> Right. I stand corrected. Just hope they don't have any such named
> routines lying about on their path.
Me too. :o)
> Dereferencing pointers will cause
> compile error in old versions though, right?
I would hope so. But I do have utility and wrapper codes that simply pass pointers along,
i.e. doesn't dereference them.
paulv
--
Paul van Delst A little learning is a dangerous thing;
CIMSS @ NOAA/NCEP Drink deep, or taste not the Pierian spring;
Ph: (301)763-8000 x7274 There shallow draughts intoxicate the brain,
Fax:(301)763-8545 And drinking largely sobers us again.
paul.vandelst@noaa.gov Alexander Pope.
|
|
|