Hello,
I suppose I found a bug in ruby (or behavior that I am unable to
explain). My version is, exactly, ruby 1.8.6 (2007-03-13 patchlevel 0)
[universal-darwin8.0]
problem is in this method:
def plotresults(results,runset)
...
runset.each{|k| f.printf("%-*s",ns,k)}
...
end
each iterator just prints the items of the runset array out of order.
however, if I just evaluate the array anywhere in the method, everything
is ok:
def plotresults(results,runset)
runset
...
runset.each{|k| f.printf("%-*s",ns,k)}
...
end
Not much more to say about that. Can anybody explain to me why Ruby
should behave like that?
--
Posted via http://www.ruby-forum.com/.
|
|
0
|
|
|
|
Reply
|
moskyt (1)
|
4/4/2008 11:57:56 AM |
|
On Fri, Apr 4, 2008 at 1:57 PM, Frantisek Havluj <moskyt@rozhled.cz> wrote:
> Hello,
>
> I suppose I found a bug in ruby (or behavior that I am unable to
> explain). My version is, exactly, ruby 1.8.6 (2007-03-13 patchlevel 0)
> [universal-darwin8.0]
>
> problem is in this method:
>
> def plotresults(results,runset)
> ...
> runset.each{|k| f.printf("%-*s",ns,k)}
> ...
> end
>
> .each iterator just prints the items of the runset array out of order.
> however, if I just evaluate the array anywhere in the method, everything
> is ok:
>
> def plotresults(results,runset)
> runset
> ...
> runset.each{|k| f.printf("%-*s",ns,k)}
> ...
> end
>
> Not much more to say about that. Can anybody explain to me why Ruby
> should behave like that?
One question: is runset really an Array or a Set? Set doesn't keep the order.
Jano
|
|
0
|
|
|
|
Reply
|
jan.svitok (810)
|
4/4/2008 12:03:25 PM
|
|
Hi --
On Fri, 4 Apr 2008, Frantisek Havluj wrote:
> Hello,
>
> I suppose I found a bug in ruby (or behavior that I am unable to
> explain). My version is, exactly, ruby 1.8.6 (2007-03-13 patchlevel 0)
> [universal-darwin8.0]
>
> problem is in this method:
>
> def plotresults(results,runset)
> ...
> runset.each{|k| f.printf("%-*s",ns,k)}
> ...
> end
>
> .each iterator just prints the items of the runset array out of order.
> however, if I just evaluate the array anywhere in the method, everything
> is ok:
>
> def plotresults(results,runset)
> runset
> ...
> runset.each{|k| f.printf("%-*s",ns,k)}
> ...
> end
>
> Not much more to say about that. Can anybody explain to me why Ruby
> should behave like that?
It's impossible to comment without seeing the code where runset is
created.
David
--
Rails training from David A. Black and Ruby Power and Light:
ADVANCING WITH RAILS April 14-17 New York City
INTRO TO RAILS June 9-12 Berlin
ADVANCING WITH RAILS June 16-19 Berlin
See http://www.rubypal.com for details and updates!
|
|
0
|
|
|
|
Reply
|
dblack (1323)
|
4/4/2008 12:15:08 PM
|
|
2008/4/4, Frantisek Havluj <moskyt@rozhled.cz>:
> I suppose I found a bug in ruby (or behavior that I am unable to
> explain). My version is, exactly, ruby 1.8.6 (2007-03-13 patchlevel 0)
> [universal-darwin8.0]
>
> problem is in this method:
>
> def plotresults(results,runset)
> ...
> runset.each{|k| f.printf("%-*s",ns,k)}
> ...
> end
>
> .each iterator just prints the items of the runset array out of order.
What exactly do you mean by "out of order"? What order? What type is runset?
> however, if I just evaluate the array anywhere in the method, everything
> is ok:
What do you mean be "evaluate"?
> def plotresults(results,runset)
> runset
> ...
> runset.each{|k| f.printf("%-*s",ns,k)}
> ...
> end
>
> Not much more to say about that. Can anybody explain to me why Ruby
> should behave like that?
You need to say more about that - otherwise we can't say much more about it.
Cheers
robert
--
use.inject do |as, often| as.you_can - without end
|
|
0
|
|
|
|
Reply
|
shortcutter (5765)
|
4/4/2008 12:19:27 PM
|
|
|
3 Replies
45 Views
(page loaded in 0.136 seconds)
|