2012-11-13 16 views

risposta

11

Prova questo:

if [val1, val2, val3, val4, val5, val6].uniq.count == 1 
    #... 
end 

se si vuole ottenere di fantasia, si può provare questo

unless [val2, val3, val4, val5, val6].find{ |x| x != val1 } 
    # ... 
end 

È possibile che questo si fermerà non appena trova un elemento che non è uguale a val1 altrimenti, il blocco verrà eseguito.

2

Un modo simpatico:

[val1,val2,val3,valN].uniq.size == 1 

Un modo più prosaico:

[val2,val3,valN].all?{ |x| x == val1 } 
2

Se i valori sono per caso Fixnum, questa linea sexy avrebbe funzionato:

if val1 == val2 & val3 & val4 & val5 & val6 
    # ... 
end 

se non , quindi questo grasso funzionerebbe per qualsiasi tipo

if [val1] == [val2] & [val3] & [val4] & [val5] & [val6] 
    # ... 
end 
+0

Fai un favore al tuo futuro tu e i tuoi colleghi sviluppatori e non utilizzare questa costruzione. – Daniel

Problemi correlati