[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Creature module for the Dragon class

Thufir Hawat

11/9/2007 5:17:00 AM

I could have "instance" variables in Creature, which Dragon objects
can use? Dragon would have all the methods of the Creature module
available, for instance attribute accessors?



C:\code>
C:\code>
C:\code>type Creature.rb
module Creature


def sayHi
print "\nhi\n\n"
end


end
C:\code>
C:\code>type Dragon.rb
require 'Creature'


class Dragon
extend Creature
include Creature


def toString
print "\ndragon\n"
end


end
C:\code>


thanks,

Thufir


2 Answers

7stud --

11/9/2007 6:32:00 AM

0

Thufir wrote:
> I could have "instance" variables in Creature, which Dragon objects
> can use? Dragon would have all the methods of the Creature module
> available, for instance attribute accessors?
>


module Creature
def kingdom=(some_kingdom)
@kingdom = some_kingdom
end

def kingdom
@kingdom
end
end


class Dragon
include Creature
end

d = Dragon.new
d.kingdom = 'Mordor'
puts d.kingdom

--output:--
Mordor
--
Posted via http://www.ruby-....

Thufir Hawat

11/10/2007 10:50:00 PM

0

On Nov 8, 10:32 pm, 7stud -- <bbxx789_0...@yahoo.com> wrote:
[...]
> module Creature
> def kingdom=(some_kingdom)
> @kingdom = some_kingdom
> end
>
> def kingdom
> @kingdom
> end
> end
>
> class Dragon
> include Creature
> end
>
> d = Dragon.new
> d.kingdom = 'Mordor'
> puts d.kingdom
>
> --output:--
> Mordor

This is interesting because it brings up the next problem:
locations. In this case, kingdoms. I changed the design a bit so
that Creature is a class from which Dragon and so forth inherit. One
approach I was thinking about would be to give each creature instance
a few objects, such as: statistics, kingdom and inventory. (Right
now the "statistics" portion is built in directly to the class, I'm
considering making a class for these traits.)

Each Creature needs a kingdom (even if it's "banished" or something),
and, of course, a kingdom can "hold" many creature objects. In
tables, the "kingdom" table would have a one-to-many relation to the
"creatures" table.

Just thinking outloud....



-Thufir