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

From: Hugh Sasse Staff Elec Eng <hgs@...>
Date: 2000-10-17 10:33:15 UTC
List: ruby-talk #5634
On Tue, 17 Oct 2000, GOTO Kentaro wrote:

> In message "[ruby-talk:5600] passing single or multiple strings."
>     on 00/10/17, Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
> 
> >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
	[...]
> >which does not work.  (You have to use if args.type == Array...elsif....
> >for that.)
> 
> `type' is not needed because `Klass === obj' is identical to
> `obj.is_a? Klass.'
> 
>     def something(args)
>       case args
>       when Array
>         :Array
>       when String
>         :String
>       end
>     end
> 
>     p something([]) #=> :Array
>     p something("") #=> :String
> 
Oh! Thank you for this. :-)

> >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?
> 
> How about something(*["x", "y"]);
> 
>     def something(*bunch_of_args)
>       bunch_of_args
>     end
> 
>     p something(*["x", "y"]) #=> ["x", "y"]
> 

Not tried it on a right hand side really....:

irb(main):001:0> x = [[[2.3],4,[5,6]]]
[[[2.3], 4, [5, 6]]]
irb(main):002:0> *x
SyntaxError: compile error
(irb):2: parse error
(irb):2:in `irb_binding'
irb(main):003:0> p *x
[[2.3], 4, [5, 6]]
nil
irb(main):004:0> 

Not sure why *x didn't work there...  So is there a method corresponding
to this * prefixing? Methods does show a "*" method for Array:

irb(main):011:0> x.*()
TypeError: no implicit conversion from nil
(irb):11:in `*'
(irb):11:in `irb_binding'

[It is trying to multiply. OK.] ...is it by implication a method of
Object:

irb(main):012:0> q = Object.new
#<Object:0xcf0b0>
irb(main):013:0> q * x
NameError: undefined method `*' for #<Object:0xcf0b0>
(irb):13:in `irb_binding'
irb(main):014:0>  

It seems not.  Hmm.  I'm still a bit puzzled.
> -- gotoken
> 
> 
	Hugh
	hgs@dmu.ac.uk


In This Thread