Menu
Coddy logo textTech

count, all?, any?, none?

Fait partie de la section Logique et Flux du Journey Ruby de Coddy. Leçon 24 sur 56.

Quatre petites méthodes Enumerable qui répondent à des questions sur une collection sans vous obliger à écrire une boucle.

count renvoie le nombre d’éléments qui satisfont le bloc :

[1, 2, 3, 4, 5].count { |n| n.even? }   # 2
[1, 2, 3, 4, 5].count                    # 5  (pas de bloc, compte total)

all? est vrai lorsque chaque élément satisfait le bloc :

[2, 4, 6].all? { |n| n.even? }    # true
[2, 4, 7].all? { |n| n.even? }    # false

any? vaut true lorsqu’au moins un élément satisfait la condition :

[1, 2, 3].any? { |n| n.even? }    # true
[1, 3, 5].any? { |n| n.even? }    # false

none? est vrai lorsqu’aucun d’entre eux ne le fait :

[1, 3, 5].none? { |n| n.even? }   # true

Les méthodes s’arrêtent prématurément : any? s’arrête à la première correspondance, all? s’arrête au premier échec. Elles sont peu coûteuses.

challenge icon

Défi

Facile

Lisez une liste de notes de test séparées par des virgules (entiers). Une classe est une classe valide lorsque :

  • none? des notes n’est négative (un test non enregistré)
  • all? les notes sont au plus égales à 100
  • any? note est exactement égale à 100 (au moins une note parfaite)
  • au moins 3 notes sont >= 70 (utilisez count)

Affichez exactement une ligne :

  • Valid: <count> passing lorsque les quatre conditions sont remplies (count est le nombre de notes >= 70)
  • Invalid dans le cas contraire

Pour l’entrée 72,80,100,65,90 : 4 notes >= 70, aucune négative, toutes <= 100, l’une d’elles vaut 100, donc la sortie est Valid: 4 passing.

Pour 72,80,90 : 3 notes réussies, mais aucune note parfaite, donc Invalid.

Essayez vous-même

scores = gets.chomp.split(",").map(&:to_i)

# TODO: combiner all?, any?, none?, count pour décider Valid vs Invalid
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique et Flux

Entraînez-vous par vous-même : Compilateur Ruby en ligne