Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在表中保存图形的坐标,然后按随机顺序删除它们?这样做的最佳方法是什么?_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 在表中保存图形的坐标,然后按随机顺序删除它们?这样做的最佳方法是什么?

Ruby on rails 在表中保存图形的坐标,然后按随机顺序删除它们?这样做的最佳方法是什么?,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我的情况是这样的: a = Array.new(11) {Array.new(21) {0}} 我需要打印出坐标,就像数学图表中使用的坐标一样。所以(0,0)(0,1)(0,2)等等。因此,如果长度指定为10,宽度指定为20,那么图形区域将是从(0,0)到(10,20)的所有点 我希望将这些值存储在一个表中,以便可以按顺序打印这些值 稍后,会出现一种情况,其中一些值将被删除,因此,假设删除的值是(4,5)(4,6)(4,7),那么先前创建的主表不应包含这些值。我需要能够打印出包含剩余值的新表

我的情况是这样的:

a = Array.new(11) {Array.new(21) {0}}
我需要打印出坐标,就像数学图表中使用的坐标一样。所以(0,0)(0,1)(0,2)等等。因此,如果长度指定为10,宽度指定为20,那么图形区域将是从(0,0)到(10,20)的所有点

我希望将这些值存储在一个表中,以便可以按顺序打印这些值

稍后,会出现一种情况,其中一些值将被删除,因此,假设删除的值是(4,5)(4,6)(4,7),那么先前创建的主表不应包含这些值。我需要能够打印出包含剩余值的新表

到目前为止,我只做了编码,要求长度和宽度值

我该如何继续进行剩下的工作? 如果您需要任何澄清或问题,如果太混乱,那么请留下评论,我会努力使它更好

我们将非常感谢您的帮助


谢谢

根据您的需要,有几种方法可以做到这一点

简单的方法是使用如下数组:

a = Array.new(11) {Array.new(21) {0}}
这将创建一个类似于[0][0]到[10][20]的数组,每个项都初始化为0

要删除项目,请将其设置为零:

a[4][5] = nil
打印数组时,跳过任何nil值:

for x in 0..10
  for y in 0..20
    next if a[x][y]==nil
    puts a[x][y]
  end
end
如果您的图形非常大,请阅读“稀疏矩阵”,这是Excel等工具如何使用较少的RAM存储空白单元格的许多单元格:


根据您的需要,有几种方法可以做到这一点

简单的方法是使用如下数组:

a = Array.new(11) {Array.new(21) {0}}
这将创建一个类似于[0][0]到[10][20]的数组,每个项都初始化为0

要删除项目,请将其设置为零:

a[4][5] = nil
打印数组时,跳过任何nil值:

for x in 0..10
  for y in 0..20
    next if a[x][y]==nil
    puts a[x][y]
  end
end
如果您的图形非常大,请阅读“稀疏矩阵”,这是Excel等工具如何使用较少的RAM存储空白单元格的许多单元格:


谢谢你的回答。。。。这正是我想要的。。。谢谢你的帮助…谢谢你的回答。。。。这正是我想要的。。。谢谢你的帮助。。。