[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

beginning question. modules + object creation

Corey Konrad

3/18/2007 10:39:00 PM

I was wondering if i create a modules file called mathematics.rb:

module Mathematics
class Add
def add(operand_one, operand_two)
return operand_one + operand_two
end

end#end class
end

and then i create another file called usemodules.rb

require 'mathematics'


adder = Add.new
puts "2 + 3 = " + adder.add(2, 3).to_s

how do i create an Add object in this new file, i understand i could
just make the add method above into a class method and then i wouldnt
need to create an object at all. However how would i create an object to
use.

thanks

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

2 Answers

Corey Konrad

3/18/2007 10:42:00 PM

0

Corey Konrad wrote:
> I was wondering if i create a modules file called mathematics.rb:
>
> module Mathematics
> class Add
> def add(operand_one, operand_two)
> return operand_one + operand_two
> end
>
> end#end class
> end
>
> and then i create another file called usemodules.rb
>
> require 'mathematics'
>
>
> adder = Add.new
> puts "2 + 3 = " + adder.add(2, 3).to_s
>
> how do i create an Add object in this new file, i understand i could
> just make the add method above into a class method and then i wouldnt
> need to create an object at all. However how would i create an object to
> use.
>
> thanks

never mind i figured it out on my own i would do it like
Mathematics::Add.new
zen and the art of programming as soon as i shut my brain off by asking
a question the answer pops in my head, lol.

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

Gary Wright

3/18/2007 10:57:00 PM

0


On Mar 18, 2007, at 6:38 PM, Corey Konrad wrote:

> I was wondering if i create a modules file called mathematics.rb:
>
> module Mathematics
> class Add
> def add(operand_one, operand_two)
> return operand_one + operand_two
> end
>
> end#end class
> end
>
> and then i create another file called usemodules.rb
>
> require 'mathematics'
>
>
> adder = Add.new
> puts "2 + 3 = " + adder.add(2, 3).to_s

Because you nested your class Add within Mathematics you have to
use the fully qualified name when you are writing code that
is outside the Mathematics module:

adder = Mathematics::Add.new
puts "2 + 3 = #{adder.add(2,3)}"

Gary Wright