Menu
CoddyTech

Tambahkan Siswa

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

Definisikan method add_student yang mendaftarkan siswa baru di hash bersama student_records.

Menolak duplikat adalah satu-satunya percabangan. Jika siswa sudah ada, laporkan hal itu dan kembalilah tanpa menimpa data.

challenge icon

Tantangan

Mudah

Di bagian atas file-mu, pertahankan student_records = {}. Lalu definisikan method add_student(name, age, courses) yang:

  1. Jika name sudah menjadi kunci dalam student_records, cetak Student '<name>' already exists. lalu kembalikan.
  2. Jika tidak, simpan { age: age, grades: [], courses: courses } di bawah name dan cetak Student '<name>' added.

Di bagian bawah file-mu, ganti blok pengujian dengan:

add_student("Alice", 20, ["Math", "Physics"])
add_student("Bob", 22, ["Biology", "Chemistry"])
add_student("Alice", 21, ["Art"])
puts student_records.inspect

Output yang diharapkan adalah:

Student 'Alice' added.
Student 'Bob' added.
Student 'Alice' already exists.
{"Alice"=>{:age=>20, :grades=>[], :courses=>["Math", "Physics"]}, "Bob"=>{:age=>22, :grades=>[], :courses=>["Biology", "Chemistry"]}}

Karena method tidak dapat melihat variabel lokal dari skrip yang membungkusnya, deklarasikan student_records dengan $student_records (variabel global) agar method dapat membaca dan memperbaruinya. Gunakan nama itu juga di dalam method.

Coba sendiri

$student_records = {}

# TODO: definisikan add_student(name, age, courses), cegah data duplikat,
# simpan { age:, grades: [], courses: }, tampilkan pesan berhasil ditambahkan atau sudah ada

add_student("Alice", 20, ["Math", "Physics"])
add_student("Bob", 22, ["Biology", "Chemistry"])
add_student("Alice", 21, ["Art"])
puts $student_records.inspect
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