我已经失去了我的所有头发。我有一个3维数组。n维阵列上的数组数学
初始化为Array.new(行){Array.new(列){Array.new(通道,0)}}
一切似乎工作,但是当我尝试添加填充列,我无法弄清楚第二维如何受到打击。
我已经完成了这5种不同的方法,并继续为第二个维度提出错误的大小。第一部分工作正常,我将一个数组stack_edge初始化为一个1xn像素的数组,并将其推/放到image_data的开头和结尾。然后变成阵列0 ...垫...原始高度... original_height_2 *垫)行。
但是,然后我尝试并推动& unsquift pixexls到每行的列上并得到一个数组,认为它比它宽。它报告的宽度比原来宽110个像素。我无法弄清楚其他100个像素来自哪里。他们不在那里,从来没有注意过,因为我计算而不是审问。 (old_width + 2 * pad_s)工作并且所有数据看起来都已到位,但宽度= @image_data [row] .size,以110像素大小重新排列。我猜这是因为我推动的像素是一个10x1阵列,并且我把5放在前面,5放在后面,所以110通过一些奇怪的数学。你能告诉我我做错了什么吗?
(0...pad_s).each {
@image_data.unshift(stack_edge)
@image_data.push(stack_edge)
}
[email protected]_data.size
edge=Array.new(image_data[0][0].size)
a='whats up'
([email protected]_data.size).each { |i|
(0...pad_s).each{
@image_data[i].unshift(edge)
@image_data[i].push([edge)
}
}
请让您的问题更简洁。 – sawa