2014-10-19 8 views
7

Rubino ti permette di fareRuby ha un metodo di somma di array per valori booleani?

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

C'è qualcosa per fare l'aritmetica booleano su un array come

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

Attualmente in uso! [True, false, true] .include? (False) ma non è fantastico da leggere. – biagidp

+2

'[5,5,5] .sum' è Rails (ActiveSupport), non è un semplice Ruby. – steenslag

+0

Un altro modo (anche se 'all?' È il migliore): '[true, true, true] .reduce (: &)'. –

risposta

19
[true, true, true].all? 

tornerà vero.

[true, false, true].all? 

restituirà falso.

Inoltre, se si desidera booleano OR i valori:

[true, false, true].any? 

restituisce true.