Menu
CoddyTech

count, all?, any?, none?

Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 24 dari 56.

Empat method Enumerable kecil yang menjawab pertanyaan tentang koleksi tanpa memaksamu menulis perulangan.

count mengembalikan jumlah elemen yang memenuhi blok:

[1, 2, 3, 4, 5].count { |n| n.even? }   # 2
[1, 2, 3, 4, 5].count                    # 5  (tanpa blok, jumlah total)

all? bernilai true jika setiap elemen memenuhi blok:

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

any? bernilai true jika setidaknya satu elemen memenuhi kondisi:

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

none? bernilai true ketika tidak satu pun dari mereka memenuhi kondisi:

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

method ini berhenti lebih awal, any? berhenti pada kecocokan pertama, all? berhenti pada kegagalan pertama. Keduanya ringan.

challenge icon

Tantangan

Mudah

Baca list skor tes yang dipisahkan koma (bilangan bulat). Sebuah kelas adalah kelas lulus yang valid jika:

  • none? dari skornya bernilai negatif (tes yang tidak tercatat)
  • all? skor paling tinggi adalah 100
  • any? skor tepat bernilai 100 (setidaknya ada satu skor sempurna)
  • setidaknya 3 skor bernilai >= 70 (gunakan count)

Cetak tepat satu baris:

  • Valid: <count> passing jika keempat kondisi terpenuhi (count adalah jumlah skor >= 70)
  • Invalid jika tidak

Untuk input 72,80,100,65,90: 4 skor >= 70, tidak ada yang negatif, semuanya <= 100, satu skor bernilai 100, jadi outputnya adalah Valid: 4 passing.

Untuk 72,80,90: ada 3 skor lulus, tetapi tidak ada skor sempurna, jadi Invalid.

Coba sendiri

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

# TODO: gabungkan all?, any?, none?, dan count untuk menentukan Valid atau Invalid
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Ruby online