[#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:5600] passing single or multiple strings.

From: Hugh Sasse Staff Elec Eng <hgs@...>
Date: 2000-10-16 17:45:13 UTC
List: ruby-talk #5600
With multple assignments I can get nested arrays "shelled" (like peas)  
until there is one outermost container:

irb(main):008:0> *x = [1, 2], 3
[[1, 2], 3]
irb(main):009:0> x
[[1, 2], 3]
irb(main):010:0> *y = [1,2]
[1, 2]
irb(main):011:0> y
[1, 2]

So I can do 

    def something(args)
        *bunch_of_args = args
        bunch_of_args.each do
            ...
        end
    end

That's fine, and quite useful; if args are Strings and I just get one
string then I don't get caught out by wanting to write:

    case args.type
    when Array
       ...
    when String
       ...
    end

which does not work.  (You have to use if args.type == Array...elsif....
for that.)

But this is quite different:

    def something(*bunch_of_args)
        bunch_of_args.each do
            ...
        end
    end

because then things are not "shelled" out and if I pass in an Array I get
a nested Array.  something(["x", "y"]) => bunch_of_args == [["x", "y"]]

So what method of Array, if any, will do this "shelling" for me?

It is not flatten, that is quite different.
 
	Hugh
	hgs@dmu.ac.uk



In This Thread

Prev Next