[#5218] Ruby Book Eng tl, ch1 question — Jon Babcock <jon@...>

13 messages 2000/10/02

[#5404] Object.foo, setters and so on — "Hal E. Fulton" <hal9000@...>

OK, here is what I think I know.

14 messages 2000/10/11

[#5425] Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...>

18 messages 2000/10/11
[#5427] RE: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — OZAWA -Crouton- Sakuro <crouton@...> 2000/10/11

At Thu, 12 Oct 2000 03:49:46 +0900,

[#5429] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...> 2000/10/11

Thanks for the input.

[#5432] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Yasushi Shoji <yashi@...> 2000/10/11

At Thu, 12 Oct 2000 04:53:41 +0900,

[#5516] Re: Some newbye question — ts <decoux@...>

>>>>> "D" == Davide Marchignoli <marchign@di.unipi.it> writes:

80 messages 2000/10/13
[#5531] Re: Some newbye question — matz@... (Yukihiro Matsumoto) 2000/10/14

Hi,

[#5544] Re: Some newbye question — Davide Marchignoli <marchign@...> 2000/10/15

On Sat, 14 Oct 2000, Yukihiro Matsumoto wrote:

[#5576] Re: local variables (nested, in-block, parameters, etc.) — Dave Thomas <Dave@...> 2000/10/16

matz@zetabits.com (Yukihiro Matsumoto) writes:

[#5617] Re: local variables (nested, in-block, parameters, etc.) — "Brian F. Feldman" <green@...> 2000/10/16

Dave Thomas <Dave@thomases.com> wrote:

[#5705] Dynamic languages, SWOT ? — Hugh Sasse Staff Elec Eng <hgs@...>

There has been discussion on this list/group from time to time about

16 messages 2000/10/20
[#5712] Re: Dynamic languages, SWOT ? — Charles Hixson <charleshixsn@...> 2000/10/20

Hugh Sasse Staff Elec Eng wrote:

[#5882] [RFC] Towards a new synchronisation primitive — hipster <hipster@...4all.nl>

Hello fellow rubyists,

21 messages 2000/10/26

[ruby-talk:5831] Re: Array#insert rehashed

From: "Guy N. Hurst" <gnhurst@...>
Date: 2000-10-24 23:54:47 UTC
List: ruby-talk #5831

Aleksi Niemelwrote:
> ... 
>   $ ruby -v -e'a=[1,2,3]; a[1,0]=a; p a;'
>   ruby 1.6.2 (2000-10-16) [i686-linux]
>   [1, 1, 1, 1, 1, 1]
> 
> I guess it's not as it should be. I'd expect [1, 1,2,3, 2,3].
> 

Yes, either that or an infinite set of 1's, since 'a' is growing 
as it gets inserted...

I tried something related:

irb(main):021:0> b
[1, 2, 3]
irb(main):022:0> b[-1,0]=b
[1, 2, 1, 2, 1, 2]
/usr/local/lib/ruby/1.6.0/irb/main.rb:461:in `gsub!': failed to allocate memory (fatal)
        from /usr/local/lib/ruby/1.6.0/irb/main.rb:461:in `prompt'
        from /usr/local/lib/ruby/1.6.0/irb/main.rb:341:in `eval_input'
        from /usr/local/lib/ruby/1.6.0/irb/main.rb:331:in `call'
        from /usr/local/lib/ruby/1.6.0/irb/ruby-lex.rb:193:in `prompt'
        from /usr/local/lib/ruby/1.6.0/irb/ruby-lex.rb:234:in `each_top_level_statement'
        from /usr/local/lib/ruby/1.6.0/irb/ruby-lex.rb:215:in `loop'
        from /usr/local/lib/ruby/1.6.0/irb/ruby-lex.rb:215:in `each_top_level_statement'
        from /usr/local/lib/ruby/1.6.0/irb/main.rb:352:in `eval_input'
        from /usr/local/lib/ruby/1.6.0/irb/main.rb:62:in `start'
        from /usr/local/lib/ruby/1.6.0/irb/main.rb:61:in `catch'
        from /usr/local/lib/ruby/1.6.0/irb/main.rb:61:in `start'
        from /usr/local/bin/irb:19

There definitely is a problem here. ;-)

> ...
> Then I bumped into the problem. Backwards compatibility. I got scared.
> Messing around with [] surely causes many programs to fail. 

Maybe [] should not be an alias, but have its own defined set of
operations?  That could eliminate these side effects, and the
dichotomy resulting from comparisons to things like substr() etc.

I'm not sure this would be a simple task, though. I have not looked
in depth, but it seems like it may be deeply connected to many
things...

> So I'm asking:
> 
> 1) Do you think we should change the way Array#[pos, len] version
>    works for next Ruby version?
> 
>     - remove surprising array[pos, 0] = [1,2,3] array flattening
>     - change semantics for negative pos
> 

Yes.

I guess that means we have to consider supporting

	array[pos,0] = 1,2,3

(or some other way to force flattening)

> 2) Do you think Array#insert(pos, stuff) should work almost like
>    current Array#[pos, 0] = stuff except it doesn't autoflat?
>    Or do you think negative pos too should be handled differently
>    from Array#[pos,len]= ?
> 

I think negative pos ought to be handled differently than it is now.

In other words, if a=[1,2,3], then a[-1,0] = 4 should result in [1,2,3,4], 
not [1,2,4,3]. Likewise for a.insert(-1,stuff).  


Guy N. Hurst

-- 
HurstLinks Web Development    http://www.hurstlinks.com/
Norfolk, VA - (757)623-9688
PHP/MySQL - Ruby/Perl - HTML/Javascript

In This Thread