[#3109] Is divmod dangerous? — Dave Thomas <Dave@...>

14 messages 2000/06/06

[#3149] Retrieving the hostname and port in net/http — Roland Jesse <jesse@...>

Hi,

12 messages 2000/06/07

[#3222] Ruby coding standard? — Robert Feldt <feldt@...>

16 messages 2000/06/09

[#3277] Re: BUG or something? — Aleksi Niemel<aleksi.niemela@...>

> |I am new to Ruby and this brings up a question I have had

17 messages 2000/06/12
[#3281] Re: BUG or something? — Dave Thomas <Dave@...> 2000/06/12

Aleksi Niemel<aleksi.niemela@cinnober.com> writes:

[#3296] RE: about documentation — Aleksi Niemel<aleksi.niemela@...>

> I want to contribute to the ruby project in my spare time.

15 messages 2000/06/12

[#3407] Waffling between Python and Ruby — "Warren Postma" <embed@...>

I was looking at the Ruby editor/IDE for windows and was disappointed with

19 messages 2000/06/14

[#3410] Exercice: Translate into Ruby :-) — Jilani Khaldi <jilanik@...>

Hi All,

17 messages 2000/06/14

[#3415] Re: Waffling between Python and Ruby — Andrew Hunt <andy@...>

>Static typing..., hmm,...

11 messages 2000/06/14

[#3453] Re: Static Typing( Was: Waffling between Python and Ruby) — Andrew Hunt <andy@...>

32 messages 2000/06/16

[#3516] Deep copy? — Hugh Sasse Staff Elec Eng <hgs@...>

Given that I cannot overload =, how should I go about ensuring a deep

20 messages 2000/06/19

[#3694] Why it's quiet — hal9000@...

We are all busy learning the new language

26 messages 2000/06/29
[#3703] Re: Why it's quiet — "NAKAMURA, Hiroshi" <nahi@...> 2000/06/30

Hi,

[#3705] Re: Why it's quiet — matz@... (Yukihiro Matsumoto) 2000/06/30

Hi,

[ruby-talk:03614] Re: Interface polymorphism

From: "NAKAMURA, Hiroshi" <nahi@...>
Date: 2000-06-22 05:39:13 UTC
List: ruby-talk #3614
Hello,

> From: Yukihiro Matsumoto
> Sent: Thursday, June 22, 2000 1:25 PM

>   2) override
> 
>      since Mix-in is an inheritance, usual override rule for method
>      combination is applicable.

I have been surprised with this behavior.  I did not know well
about 'Mix-in'.  In the script below, 'super' in
ConcreteDecorator[AB]#operation works at least as well as I expect.
I realized 'Mix-in is an inheritance'.

// NaHi
P.S.
Thank you for good discussion about Dynamic/Static Typing and DbC.
Those are very stimulative for me.
P.S.2
Sorry for my poor English...


require( '[ruby-talk:03538]' )

module Component
  abstract :operation
end

class ConcreteComponent; implements Component
  def operation()
    p 'ConcreteComponent'
  end
end

module Decorator; implements Component
  attr_accessor :component

  def initialize( component = nil )
    @component = component
  end

  def operation()
    @component.operation()
  end
end

class ConcreteDecoratorA; implements Decorator
  def operation()
    p 'ConcreteDecoratorA:pre'
    super          # !!!!!!!!!!
    p 'ConcreteDecoratorA:post'
  end
end

class ConcreteDecoratorB; implements Decorator
  def operation()
    p 'ConcreteDecoratorB:pre'
    super          # !!!!!!!!!!
    p 'ConcreteDecoratorB:post'
  end
end


if $DEBUG
  # Main component
  c = ConcreteComponent.new()
  # An decoration
  dA = ConcreteDecoratorA.new( c )
  # An decoration
  dB = ConcreteDecoratorB.new( dA )

  aComponent = dB

  # Let's go!
  aComponent.operation()
end

In This Thread