[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: something like perl's 'require 5.4'
JD Smith <firstname.lastname@example.org> writes:
> Craig Markwardt wrote:
> > Vapuser <email@example.com> writes:
> > > Hi all.
> > >
> > > I'm looking for something that check the version of the current IDL
> > > session against an input version, like perl's 'require 5.4'
> > > semantics and I *thought* I saw someone mention using something very
> > > much like this.
> > >
> > > Does anyone know of such a thing or was I just hallucinating?
> > Extending on JD's answer with two more possibilities:
> > if !version.release LT '5.4' then message, 'ERROR'
> > if double(!version.release) LT 5.4 then message, 'ERROR'
> > The first comparison is a string compare, while the second one is a
> > numeric compare. There is a slight difference, but in practice they
> > are identical, and they also both handle the case of 5.4.1, etc. The
> > former will handle 5.4.1a, but I think it's rare. I always use the
> > latter.
> IDL> print,double('5.4') lt double ('5.4.1')
> IDL>print,double('5.4') eq double ('5.4.1')
> Hopefully RSI won't try to pull the latter on us.
> On the other hand, your string method looks good. The best counter
> example I could come up with is:
> IDL> print,'5.5a' lt '5.5B'
> Not too likely. I think I'll adopt the string version.
if version lt input_version then 'eeek'
Clearly `desired_release' would have to be input as a string.
Of couse, this method 'requires' IDL 5.3 (IIRC), to get the regular
expression semantics of strsplit. The other question is will RSI use
any separator in version designations besides these three?
William Daffer: 818-354-0161: William.Daffer@jpl.nasa.gov