我已經失去了我的所有頭髮。我有一個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