我想計算數組中的真值對象。因爲我可以通過一個塊來算,我找到了最習慣的方法是這樣的:計算數組中的真值對象
但是,我不知道是否有更好的方法尤其是使用語法count(&:something)
因爲路過此地全塊的樣子矯枉過正給我。
AFAIK,在Ruby中沒有truthy?
方法,所以我找不到如何實現這個。
我想計算數組中的真值對象。因爲我可以通過一個塊來算,我找到了最習慣的方法是這樣的:計算數組中的真值對象
但是,我不知道是否有更好的方法尤其是使用語法count(&:something)
因爲路過此地全塊的樣子矯枉過正給我。
AFAIK,在Ruby中沒有truthy?
方法,所以我找不到如何實現這個。
使用Ruby> = 2.2,你可以使用Object#itself
:
[1, nil, 'foo', false, true].count(&:itself)
#=> 3
Ruby 2.2.0也這樣做... https://ruby-doc.org/core-2.2 .0/Object.html#method-i-itself – lcguida
試試這個:
[1, nil, 'foo', false, true].count(true)
這隻計算'true'對象。我們的目標是統計所有的真實物體(即'1'和''foo''也應該算在內。) – Mat
你是對的,謝謝 –
只是出於好奇,人們可能會計算''falsey's量[1,無,'foo',false,true] .count(&:!)',並將其從原始數組的大小中減去:) – mudasobwa