[#16113] Strange idea... exporting from a scope — "Hal E. Fulton" <hal9000@...>

Hello...

33 messages 2001/06/01

[#16364] Re: Garbage Collection? — Michael Davis <mdavis@...>

Windows 2000 and linux (RedHat 6.2). I have run these tests on both OSs.

12 messages 2001/06/09

[#16400] Symbolic Computation III — Mathieu Bouchard <matju@...>

14 messages 2001/06/11

[#16502] Playing with Ruby Syntax (was: Initial thoughts about Ruby From a Smalltalk Programmer) — jweirich@...

Michael> Hi Everyone, I have to say I'm utterly fascinated by Ruby

9 messages 2001/06/15

[#16661] Problem running irb with Ruby 1.6.4 under FreeBSD 4.0 — Bob Alexander <balexander@...>

I've installed Ruby 1.6.4 on a FreeBSD 4.0 machine, and get the

11 messages 2001/06/20

[#16686] opening db files made by apache dbmmanage — Fritz Heinrichmeyer <fritz.heinrichmeyer@...>

14 messages 2001/06/21

[#16801] rb_define_class() vs Class.new() — Kero van Gelder <kero@...4050.upc-d.chello.nl>

Hi,

18 messages 2001/06/23
[#16802] Re: rb_define_class() vs Class.new() — ts <decoux@...> 2001/06/23

>>>>> "K" == Kero van Gelder <kero@d4050.upc-d.chello.nl> writes:

[#16841] RE: national characters is strings — "Aleksei Guzev" <aleksei.guzev@...>

Next week I'll try to rebuild Ruby with Unicode strings. But it would be

15 messages 2001/06/25
[#16842] Re: national characters is strings — matz@... (Yukihiro Matsumoto) 2001/06/25

Hi,

[#16843] Re: national characters is strings — "Aleksei Guzev" <aleksei.guzev@...> 2001/06/25

That's good enough. But I'm afraid this could ( not would ) cause string

[#16868] Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>

As Ruby beginner, i try some "canonical" OO scripts. Doing so, I've

14 messages 2001/06/25
[#16873] RE: Something strange with Ruby's inheritance mechanism — "Aleksei Guzev" <aleksei.guzev@...> 2001/06/26

[#16879] Re: Something strange with Ruby's inheritance mechanism — Mathieu Bouchard <matju@...> 2001/06/26

On Tue, 26 Jun 2001, Aleksei Guzev wrote:

[#16869] Something strange with Ruby's inheritance mechanism — Eric Jacoboni <jaco@...>

As Ruby beginner, i try some "canonical" OO scripts. Doing so, I've

12 messages 2001/06/25

[#16881] — "Aleksei Guzev" <aleksei.guzev@...>

32 messages 2001/06/26
[#16916] Re: Method overloading (option) Was: Re: — "Wayne Blair" <wayne.blair@...> 2001/06/26

[#16920] Re: Method overloading (option) Was: Re: — matz@... (Yukihiro Matsumoto) 2001/06/26

Hi,

[#16888] finalizers, destructors and whatnot — "David Leal" <david@...>

Hi all,

16 messages 2001/06/26

[#17037] keeping an Exception object alive — David Alan Black <dblack@...>

Hello --

19 messages 2001/06/28
[#17055] Re: keeping an Exception object alive — matz@... (Yukihiro Matsumoto) 2001/06/29

Hi,

[#17066] RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — David Alan Black <dblack@...> 2001/06/29

Hello --

[#17076] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — matz@... (Yukihiro Matsumoto) 2001/06/29

Hi,

[#17079] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — David Alan Black <dblack@...> 2001/06/29

Hello --

[#17138] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — matz@... (Yukihiro Matsumoto) 2001/07/02

Hi,

[#17141] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — David Alan Black <dblack@...> 2001/07/02

Hello --

[#17142] Re: RCR: Exception methods (was: Re: Re: keeping an Exception object alive) — ts <decoux@...> 2001/07/02

>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:

[ruby-talk:17001] Re: Method overloading (option) Was: Re:

From: Hugh Sasse Staff Elec Eng <hgs@...>
Date: 2001-06-28 11:23:11 UTC
List: ruby-talk #17001
On Thu, 28 Jun 2001, Yukihiro Matsumoto wrote:

> Hi,
> 
> In message "[ruby-talk:16972] Re: Method overloading (option) Was: Re:"
>     on 01/06/28, Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
> 
> |> If you give an object of wrong protocol, you'll get NameError (well,
> |
> |I'm not sure what you mean here.  (That could be because I'm implementing
> |a 'protocol' on top of UDP at the moment, so I'm see the word differently 
> |from you! :-))  Can you give an example of how a NameError can come from
> |passing the wrong object to a user defined method, without using type
> |dispatch, please?  This may help me see your Ruby Way.
> 
>   def split(obj)
>     a = []
>     len = obj.size
>     for i in 0...len
>       a.push obj[i]
>     end
>     a
>   end
> 
>   p split("abc")        # [?a, ?b, ?c]
>   p split([1,2,3])      # [1, 2, 3]
>   p split(:foo)         # -:3:in `split': undefined method `size' for :foo:Symbol (NameError)
>  
> the "split" takes any object that responds to "size" and "[]".  "size"
> and "[]" are protocol this case.

OK, thank you.  That is clear.  Now, one can add (I'm writing this
like a patch) :

    def split(obj)
      a = []
+     return a unless obj.respond_to?(:size)
+     return a unless obj.respond_to?(:[])
      len = obj.size
      for i in 0...len

and so on for the other methods one might use, but how does that get around
having to refer to methods in more than one place, that I asked about?  

I have a vague notion that it might be possible to have a scope based
obj.methods_called() method, which would return a list of symbols telling
which methods were used in this scope.

   return [] unless obj.methods_called.all? {|m| obj.respond_to?(m)}

or whatever.  Is this half-baked idea worth any further consideration?
> 
> 							matz.
> 
	Thank you
	Hugh


In This Thread