class and module order relation in ruby

irb(main):001:0> class Stone
irb(main):002:1> end
=> nil
irb(main):003:0>
irb(main):004:0* module Alive
irb(main):005:1>   # superset
irb(main):006:1* end
=> nil
irb(main):007:0>
irb(main):008:0* class Reptile
irb(main):009:1>   # subset of alive creatures
irb(main):010:1*   include Alive
irb(main):011:1> end
=> Reptile
irb(main):012:0>
irb(main):013:0* class Mammal
irb(main):014:1>   # subset of alive creatures
irb(main):015:1*   include Alive
irb(main):016:1> end
=> Mammal
irb(main):017:0>
irb(main):018:0* class Dolphin < Mammal
irb(main):019:1>   # subset of alive creatures
irb(main):020:1* end
=> nil
irb(main):021:0>
irb(main):022:0* Alive > Stone
=> nil
irb(main):023:0> Alive > Reptile
=> true
irb(main):024:0> Alive > Mammal
=> true
irb(main):025:0> Alive > Dolphin
=> true
irb(main):026:0>
irb(main):027:0* Stone   < Alive
=> nil
irb(main):028:0> Reptile < Alive
=> true
irb(main):029:0> Mammal  < Alive
=> true
irb(main):030:0> Dolphin < Alive
=> true
irb(main):031:0>
irb(main):032:0* Dolphin < Mammal
=> true
irb(main):033:0> Mammal > Dolphin
=> true
irb(main):034:0>
irb(main):035:0* Dolphin > Mammal
=> false
irb(main):036:0> Mammal < Dolphin
=> false
irb(main):037:0>
irb(main):038:0* Reptile > Mammal # unrelated creatures
=> nil
irb(main):039:0> Reptile < Mammal # unrelated creatures
=> nil
irb(main):040:0> Mammal < Reptile # unrelated creatures
=> nil
irb(main):041:0> Mammal > Reptile # unrelated creatures
=> nil


Leave a Reply

Formatting: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>