[#2332] Ruby-Python fusion? — mrilu <mrilu@...>
Usually I give some time for news to settle before I pass the word, but
7 messages
2000/04/01
[#2353] Re: Function of Array.filter surprises me — schneik@...
5 messages
2000/04/03
[#2361] crontab — Hugh Sasse Staff Elec Eng <hgs@...>
I want to have a program that may be run between certain times.
11 messages
2000/04/05
[#2375] Marshal: Want string out, but want depth specified? — Hugh Sasse Staff Elec Eng <hgs@...>
@encoded = [Marshal.dump(@decoded, , depth)].pack("m")
7 messages
2000/04/07
[#2378] Re: Marshal: Want string out, but want depth specified?
— matz@... (Yukihiro Matsumoto)
2000/04/07
Hi,
[#2376] Iterator into array — Dave Thomas <Dave@...>
15 messages
2000/04/07
[#2397] Could missing 'end' be reported better? — mrilu <mrilu@...>
I'm not sure one could easily parse, or moreover report, this error better.
5 messages
2000/04/08
[#2404] Re: Iterator into array — Andrew Hunt <andy@...>
>It's still possible to introduce a new syntax for collecting yielded
6 messages
2000/04/08
[#2412] Re: Could missing 'end' be reported better? — h.fulton@...
7 messages
2000/04/09
[#2414] Re: Could missing 'end' be reported better?
— matz@... (Yukihiro Matsumoto)
2000/04/09
Hi,
[#2429] Please join me, I'm Hashing documentation — mrilu <mrilu@...>
This is a story about my hashing ventures, try to bear with me.
5 messages
2000/04/10
[#2459] Precedence question — Dave Thomas <Dave@...>
7 messages
2000/04/12
[#2474] Ruby 1.4.4 — Yukihiro Matsumoto <matz@...>
Ruby 1.4.4 is out, check out:
5 messages
2000/04/14
[#2494] ANNOUNCE : PL/Ruby — ts <decoux@...>
7 messages
2000/04/17
[#2514] frozen behavior — Andrew Hunt <Andy@...>
7 messages
2000/04/19
[#2530] Re: 'in' vs. 'into' — Andrew Hunt <andy@...>
>Hmm, I've not decided yet. Here's the list of options:
6 messages
2000/04/20
[#2535] Default naming for iterator parameters — mrilu <mrilu@...>
I'm back at my computer after some traveling. I know I think Ruby
5 messages
2000/04/20
[#2598] different thread semantics 1.4.3 -> 1.4.4 — hipster <hipster@...4all.nl>
Hi fellow rubies,
4 messages
2000/04/28
[ruby-talk:02437] Arrays and ranges
From:
h.fulton@...
Date:
2000-04-10 22:28:37 UTC
List:
ruby-talk #2437
I don't always go to the online reference when coding a
construct I have never used before. It is one of the
strengths of Ruby that it is intuitive, generalized, and
flexible. I think matz has an idea of "least surprise"
that coincides with that of most programmers.
But sometimes I am surprised, and sometimes I am just
confused. In this case, I have become more confused
the more I think about it.
Initially I was thinking, "What is the *right* way to
print a range of numbers backwards?" It is mostly
irrelevant to me whether they are stored or not. I was
initially thinking of storing them. (Conrad's suggestion
of 10.downto(1) is good if they are not to be stored.)
Anyway, after some playing, here is what I found. See
the code below.
--------------------------------
#!/bin/ruby
a=Array(1..5)
b=1..5
c=[1..5]
d=[1,2,3,4,5];
if c=d
print "c and d are the same\n"
else
print "c and d are NOT the same\n"
end
# Above: Confirms that c and d are the same
# Case 1 - works as expected.
a.reverse.each { |i| print i, "\n"}
# Case 2 - error
# b.reverse.each { |i| print i, "\n"}
# Above line gives error message below:
# foo2.rb:15: undefined method `reverse' for
#<Range:0x20050560> (NameError)
# Case 3 - works as expected
c.reverse.each { |i| print i, "\n"}
# Case 4 - range constant
# 1..5.reverse.each { |i| print i, "\n"}
# Code above gives error below... probably precedence
issue
# foo2.rb:27: undefined method `reverse' for 5:Fixnum
(NameError)
# Case 5 - same as 4, but with parens
# (1..5).reverse.each { |i| print i, "\n"}
# Code above gives error below... interesting
# foo2.rb:32: undefined method `reverse' for
#<Range:0x2004ff48> (NameError)
# Case 6 - array constant with range - prints "1..5" -
surely a bug???
[1..5].reverse.each { |i| print i, "\n"}
# Case 7 - array constant, non-range - works as expected
[1,2,3,4,5].reverse.each { |i| print i, "\n"}
--------------------------------
1. Notice especially that an array variable and an array
constant with the same value are treated differently.
2. Is it unreasonable to expect 'reverse' to be imple-
mented for a range?
3. Is it unreasonable to expect that a range assigned to
an array will populate the array?
Thanks for any comments...
Hal