Is there a way to get the version number within a ruby script of the interpreter running that script?
Yes, I know I can do this on the cmd line:
% ruby --version
I didn't seem to find anything in the documentation though I am new at this language.
I have my reasons for wanting the version info in this manner. If you really want to know, I'll tell you. Otherwise, I'll spare you the boring details.
Did some testing, / / will operate on $_ implicitly, so that's not why
it no longer works as it did.
e.g.
while gets
print if /start/
end
will print the line containing start.
So I'm guessing that / / changed what it returns (Matchdata or nil)
compared to what it used to return prior to 1,8 (Fixnum or nil) and
that breaks using it by itself with ranges.
Of course, this is all considered bad form in Ruby now anyhow. Still,
it's very nice for command-line 1 lines ( ruby -n -e 'print if /ruby/'
input.txt )
Nick
···
On Fri, 21 Jan 2005 16:41:55 -0500, Nicholas Van Weerdenburg <vanweerd@gmail.com> wrote:
That's no longer supported as of 1.8, but unfortunately gives no
error, according to page 64 of PickAxe2.
while line = gets
puts line if line =~ /start/ .. line =~ /end/
end
is the correct form now.
Note: gets and print still operate magically on $_ in 1.8.2 but I'm
guessing / / doesn't, and hence that example no longer working.
More in line with the original example, I'd guess that this also works:
while gets
print if $_ =~ /start/ .. $_ =~ /end/
end
# $_ implicit for gets and print
Regards,
Nick
--
Nicholas Van Weerdenburg
On Sat, 22 Jan 2005 06:10:58 +0900, William James <w_a_x_man@yahoo.com> wrote:
>
> Trevor Wennblom wrote:
> >
> > http://www.zenspider.com/Languages/Ruby/QuickRef.html
>
>
> That site has this:
>
> # prints lines starting at 'start' and ending at 'end'
> while gets
> print if /start/../end/
> end
>
> Is that correct?
>
>
Which is exactly why the old behavior still works there.
james% cat test.txt
start
middle
end
james% ruby -n -e 'print unless /middle/' test.txt
start
end
James Edward Gray II
···
On Jan 21, 2005, at 4:13 PM, Nicholas Van Weerdenburg wrote:
Of course, this is all considered bad form in Ruby now anyhow. Still,
it's very nice for command-line 1 lines ( ruby -n -e 'print if /ruby/'
input.txt )