Stefano Crocco
12/18/2008 8:00:00 AM
Alle Thursday 18 December 2008, Jason Lillywhite ha scritto:
> Could someone help me with this little problem?
>
> I have a file called fruit2.rb which contains:
>
> class Fruit2
> def taste
> "sweet"
> end
> end
>
> I want to use this class in a different file called fruit1.rb which
> contains:
>
> require "fruit2"
> class Fruit1
> def color
> "red"
> end
> end
>
> apple = Fruit1.new
> p apple.color
> apple = Fruit2.new
> p apple.taste
>
> I know the way I'm creating my apple object is wrong because I
> over-wrote apple when I assigned Fruit2.new. What I want to do is have a
> way to call attributes of a single object from different files. In my
> application, I have so many methods, I want them in different files, but
> want to use them on a single object. Is there an easy way to do this?
> --thank you!
I'm not sure I understand correctly what you mean. In ruby, you can re-open a
class after it's been defined. This means you can put the taste method in one
file and the color method in another one, both in the same class:
#in fruit2.rb
class Fruit
def taste
"sweet"
end
end
# in fruit1.rb
class Fruit
def color
"red"
end
end
apple = Fruit.new
puts apple.taste
puts apple.color
I hope this helps
Stefano