【发布时间】:2017-09-16 18:48:48
【问题描述】:
我有一个这样的对象
class Place
def initialize(x,y)
@x = x
@y = y
end
end
所以,我必须模拟大小为 X,Y 的动态grid。例如 3x5(width、height)。
我需要保存数组中的所有“Place”对象,以及所有可能的值,Place(1,1), Place(1,2), Place(1,3)... Place(3, 5).
我试过这种方式(在Grid内)
def createPlaces width, height
@places = Array.new(width * height)
(0..width).to_a.each do |x|
(0..height).to_a.each do |y|
@places.push(Place.new(x,y))
end
end
end
但是不工作。我该怎么做?
【问题讨论】:
-
一个 Ruby 约定是使用snake-case 作为变量和方法的名称。您不必遵从,但 99% 以上的 Rubiests 都这样做。
-
您的意思可能是
0...width,相当于0..width-1。宽度 10 意味着您的代码中有 11 个条目,这是错误的。