web-dev-qa-db-fra.com

Rubis: divisible par 4

Cela fonctionne bien, mais je veux le rendre plus joli - et tenir compte de toutes les valeurs divisibles par 4:

if i==4 || i==8 || i==12 || i==16 || i==20 || i==24 || i==28 || i==32
  # ...
end

Une méthode intelligente et courte pour le faire?

28
snowangel

Essaye ça:

if i % 4 == 0

Cela s'appelle " opérateur modulo ".

129
Sergio Tulentsev

Il y a aussi modulo, qui vous permet de faire

420.modulo(4).zero?

Rien ne vous empêche de faire ça avec %, mais ça a l'air bizarre:

420.%(4).zero?
48
Andrew Grimm

C'est toujours un bon début de conversation:

if (i & 3).zero?
12
Matt