2014-10-19 26 views
7

Ruby pozwala na wykonywanieCzy ruby ​​mają metodę sumy tablicowej dla wartości logicznych?

[5,5,5].sum 
=> 15 

Czy coś za to logiczną arytmetycznych na tablicy jak

[true, true, true].sum 
=> true 
[true, false, true].sum 
=> false 
+0

Obecnie używasz: [prawda, fałsz, prawda] .include? (Fałsz), ale nie jest to świetne do czytania. – biagidp

+2

'[5,5,5] .sum' to Rails (ActiveSupport), a nie zwykły Ruby. – steenslag

+0

Innym sposobem (choć "wszystko?" Jest najlepsze): '[true, true, true] .reduce (: &)'. –

Odpowiedz

19
[true, true, true].all? 

zwróci true.

[true, false, true].all? 

zwróci wartość false.

Ponadto, jeśli chcesz boolean OR wartości:

[true, false, true].any? 

zwraca true.