Re: something like perl's 'require 5.4' [message #24682 is a reply to message #24680] |
Tue, 17 April 2001 14:49   |
John-David T. Smith
Messages: 384 Registered: January 2000
|
Senior Member |
|
|
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. Dereferencing pointers will cause
compile error in old versions though, right?
JD
|
|
|