How can I declare moveto method if I want to change co-ordinates (x,y)
that are actually in object. That's my code:
module Domieszka
attr_accessor :@x
attr_accessor :@y
def inspect
"You are in: #{@x} #{@y}"
end
def moveto(x,y)
end
end
For example if I wrote i=sthClass.new
i.x = 4
i.y = 5
I have (4,5) object, and how to change x and y in object?
···
--
Posted via http://www.ruby-forum.com/.
module Domieszka
attr_accessor :x
attr_accessor :y
# assuming @x and @y are defined somewhere, perhaps in a class
# where you plan to include this module
def inspect
"You are in #{@x} #{@y}"
end
def move_to(x,y)
@x = x
@y = y
end
end
···
On Fri, Feb 03, 2012 at 05:56:29AM +0900, luk malcik wrote:
How can I declare moveto method if I want to change co-ordinates (x,y)
that are actually in object. That's my code:
module Domieszka
attr_accessor :@x
attr_accessor :@y
def inspect
"You are in: #{@x} #{@y}"
end
def moveto(x,y)
end
end
--
Chad Perrin [ original content licensed OWL: http://owl.apotheon.org ]
How can I declare moveto method if I want to change co-ordinates (x,y)
that are actually in object. That's my code:
module Domieszka
You probably want a class here, so you can make
new instances of it. I could be a module, but then
you need to include it and that is more complicated
at this learning level .
attr_accessor :@x
attr_accessor :@y
This should be
attr_accessor :x, :y
def inspect
"You are in: #{@x} #{@y}"
end
def moveto(x,y)
You have 2 choices. use the instance variable or use the accessors.
I demonstrate below with the instance variables:
@x, @y = x,y
end
end
For example if I wrote i=sthClass.new
i.x = 4
i.y = 5
I have (4,5) object, and how to change x and y in object?
A full demo is this:
$ irb
...
class Domieska
attr_accessor :x, :y
def move_to(x,y)
@x, @y = x,y
end
end
018:0> d = Domieska.new
=> #<Domieska:0x8c2c150>
019:0> d.move_to(10,20)
=> [10, 20]
021:0> d.instance_variable_get(:@x)
=> 10
Actually here, in the more advanced "instance_variable_get"
you need the special :@x notation.
HTH,
Peter
···
On Thu, Feb 2, 2012 at 9:56 PM, luk malcik <aport99@gmail.com> wrote:
ok, than you very much. It must be a module because it will be used in
classes like triangle square or circle. Include will be used in each
one.
Could You tell me one more? Is this accessors could be use in Cirle
class to define ray? for example co-ordinates i(4,5) z(6 9) do the ray
with length x
···
--
Posted via http://www.ruby-forum.com/.