Menu
Coddy logo textTech

count, all?, any?, none?

Teil des Abschnitts Logik & Programmfluss der Ruby-Journey von Coddy. Lektion 24 von 56.

Vier kleine Enumerable-Methoden, die Fragen zu einer Sammlung beantworten, ohne dass du eine Schleife schreiben musst.

count gibt zurück, wie viele Elemente den Block erfüllen:

[1, 2, 3, 4, 5].count { |n| n.even? }   # 2
[1, 2, 3, 4, 5].count                    # 5  (kein Block, Gesamtanzahl)

all? ist wahr, wenn jedes Element den Block erfüllt:

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

any? ist wahr, wenn mindestens eines dies tut:

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

none? ist wahr, wenn keines von ihnen dies tut:

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

Die Methoden verwenden einen Kurzschluss, any? stoppt beim ersten Treffer, all? stoppt beim ersten Fehlschlag. Sie sind kostengünstig.

challenge icon

Aufgabe

Einfach

Lies eine durch Kommas getrennte Liste von Testergebnissen (Ganzzahlen) ein. Eine Klasse ist eine gültige bestandene Klasse, wenn:

  • none? der Ergebnisse negativ ist (ein nicht aufgezeichneter Test)
  • all? Ergebnisse höchstens 100 sind
  • ein any?-Ergebnis genau 100 ist (mindestens ein perfektes Ergebnis)
  • mindestens 3 Ergebnisse >= 70 sind (verwende count)

Gib genau eine Zeile aus:

  • Valid: <count> passing, wenn alle vier Bedingungen erfüllt sind (count ist die Anzahl der Ergebnisse >= 70)
  • Invalid andernfalls

Für die Eingabe 72,80,100,65,90: 4 Ergebnisse >= 70, keines ist negativ, alle sind <= 100, eines ist 100, daher lautet die Ausgabe Valid: 4 passing.

Für 72,80,90: 3 sind bestanden, aber es gibt kein perfektes Ergebnis, daher Invalid.

Probier es selbst

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

# TODO: kombiniere all?, any?, none?, count, um Valid vs Invalid zu entscheiden
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Programmfluss

Übe selbstständig: Online-Ruby-Compiler