[#1026] Is this a bug? — Dave Thomas <Dave@...>
18 messages
2000/01/03
[#1053] rand() / drand48() — ts <decoux@...>
11 messages
2000/01/05
[#1055] Re: rand() / drand48()
— matz@... (Yukihiro Matsumoto)
2000/01/05
[#1061] Re: rand() / drand48()
— gotoken@... (GOTO Kentaro)
2000/01/07
Hi,
[#1067] Here docs not skipping leading spaces — Dave Thomas <Dave@...>
5 messages
2000/01/08
[#1083] YADQ (Yet Another Dumb Question) — Dave Thomas <Dave@...>
12 messages
2000/01/10
[#1084] Infinite loop — Dave Thomas <Dave@...>
17 messages
2000/01/11
[#1104] The value of while... — Dave Thomas <Dave@...>
24 messages
2000/01/11
[#1114] Re: The value of while...
— Dave Thomas <Dave@...>
2000/01/12
matz@netlab.co.jp (Yukihiro Matsumoto) writes:
[#1128] Re: The value of while... — David Suarez de Lis <excalibor@...>
Hi all,
1 message
2000/01/12
[#1133] Re: Class variables... — David Suarez de Lis <excalibor@...>
Hi there,
2 messages
2000/01/12
[#1158] Is this expected behavior? — Dave Thomas <Dave@...>
6 messages
2000/01/21
[#1172] Re: Possible bug in ruby-man-1.4 — Huayin Wang <wang@...>
> |Well, I guess it comes down to what you mean by an integer
10 messages
2000/01/24
[#1177] Re: Possible bug in ruby-man-1.4
— Dave Thomas <Dave@...>
2000/01/25
matz@netlab.co.jp (Yukihiro Matsumoto) writes:
[#1188] Enumerable and index — Dave Thomas <Dave@...>
5 messages
2000/01/27
[#1193] Semantics of chomp/chop — Dave Thomas <Dave@...>
7 messages
2000/01/28
[#1197] Question about 'open' — Dave Thomas <Dave@...>
8 messages
2000/01/30
[ruby-talk:01088] Re: Infinite loop
From:
Clemens Hintze <c.hintze@...>
Date:
2000-01-11 07:55:14 UTC
List:
ruby-talk #1088
Hello yashi,
Yasushi Shoji writes:
> From: Dave Thomas <Dave@thomases.com>
> Subject: [ruby-talk:01084] Infinite loop
> Date: 10 Jan 2000 18:30:20 -0600
>
> > I don't know if this is a bug or expected behavior - I could argue it
> > either way, but..
>
> it is expected behavior as far as I can tell. The method Array#=, or
> should I say method Array#[]=(?), takes the reference of a, not a copy
> of a. you can use Array#dup to create a copy of a to insert to a[1].
perhaps I am wrong but I think the problem for Dave is, that it loops
endless. Please have a look!
In this line, all is ok!
ruby> a = [1, 2, 3]
[1, 2, 3]
Here, he introduce the self referencing of the Array. But no big deal:
the interpreter can handle it, and reduce the output properly...
ruby> a[1] = a
[1, [...], 3]
But here, the interpreter seems not to be able to handle the
recursion. That is what bother him, I assume!
ruby> { a => 1 }
This time the problem seems not to be in the output loop but in the
hash function. As you use 'a' as key, the hash of that array has to be
calculated. And the hash will be calculated (I guess, I have not
looked into the sources) with taking *every* element of the array into
account.
Perhaps the hash function of that array, could be able to know that
it is calculating the reference to itself and so does not looping?!?
>
> $ ruby -e "a=[1,2,3]; a[1]=a.dup; p a"
> [1, [1, 2, 3], 3]
>
> hope this helps,
> --
> yashi
>
\cle
--
Clemens Hintze mailto: c.hintze@gmx.net