2014-01-06 106 views
-1

這是我的哈希(2d數組)。我如何檢查它是否完整?如何檢查我的2d數組是否在Ruby中已滿?

$plane = Array.new(27) { |i| Array.new(3) { |i| 0 }} 
+2

全爲「無尼爾斯」? – kostja

+0

那麼,我應該用1,2或3填充這個散列。我想寫一個函數,在每個循環檢查是否仍然存在0。 – user3163374

+1

當被問及澄清時,通常最好編輯您的問題,並可選擇添加評論,說明您已經這樣做了。例如,你可以將第一行替換爲「我怎樣才能確定'$ plane [i] [j]'是否等於零,對於任何'i,j',其中:。順便說一句,你的表達式通常會寫成' $ plane = Array.new(27){| i | Array.new(3,0)}'。 –

回答

0

使用all?

$plane.all? { |r| r.all? { |e| e != 0 } } 

上面的表達式返回true或false,所以你可以前堅持做下去的話if

1

如果要檢查你的陣列不含任何0這會工作:

if $plane.flatten.none?(&:zero?) 
    # no more 0's 
end 

或者相反:

if $plane.flatten.any?(&:zero?) 
    # one or more 0's 
end 
+0

那麼我的函數看起來如何呢?我的意思是我認爲如果應該使用子句? – user3163374

+0

@ user3163374更新了我的答案 – Stefan

相關問題