Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
NoMethodError ?
Chris Bailey
8/29/2008 1:30:00 AM
In the following code I am trying to print out the value of the
variable @symbol from an array of instances of the MapSector class. I
don't understand why I'm getting "NoMethodError: undefined method
`symbol' for #<Array:0xb7cb025c>" after putting this in irb and typing:
foo = GameMap.new(5,5)
foo.show_map
class GameMap
attr_accessor :height, :width, :id, :sectors
def initialize height, width
@height = height
@width = width
@id = nil
@sectors = Array.new(@height, MapSector.new) {Array.new(@width,
MapSector.new)}
end
def show_map
@sectors.each do |x|
puts x.symbol
end
end
end
class MapSector
attr_accessor :type, :symbol, :players
def initialize
@type = "plains"
@players = []
@symbol = "."
end
end
--
Posted via
http://www.ruby-...
.
2 Answers
Chris Bailey
8/29/2008 2:20:00 AM
0
Chris Bailey wrote:
> In the following code I am trying to print out the value of the
> variable @symbol from an array of instances of the MapSector class. I
> don't understand why I'm getting "NoMethodError: undefined method
> `symbol' for #<Array:0xb7cb025c>" after putting this in irb and typing:
> foo = GameMap.new(5,5)
> foo.show_map
Well I figured out the first half of my problem. I guess my show_map
method was trying to find the symbol variable inside the Array object,
whoops. So I have updated the show_map method to the following.
def show_map
x = 0
y = 0
while x < @height
while y < @width
puts self.sectors[x][y].symbol
y+= 1
end
x += 1
end
end
The problem I am having now is that when the method is run on a 4x4
array of MapSectors it only prints out 4 symbols...it should be 16. I
have verified that the nested arrays are all properly populated so I
guess it just isn't iterating through them properly. Any ideas?
--
Posted via
http://www.ruby-...
.
Chris Bailey
8/29/2008 2:43:00 AM
0
> The problem I am having now is that when the method is run on a 4x4
> array of MapSectors it only prints out 4 symbols...it should be 16. I
> have verified that the nested arrays are all properly populated so I
> guess it just isn't iterating through them properly. Any ideas?
Ok I've gotten it all figured out and working, thank's anyhow! =)
--
Posted via
http://www.ruby-...
.
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
NoMethodError ?
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password