Menu
CoddyTech

Mengubah Hash

Termasuk bagian Dasar-Dasar dalam perjalanan Ruby di Coddy. Pelajaran 75 dari 88.

Hash tidak bersifat tetap setelah dibuat. Kamu dapat menambahkan pasangan kunci-nilai baru, memperbarui nilai yang sudah ada, dan menghapus entri saat programmu berjalan.

Untuk menambahkan pasangan baru atau memperbarui nilai yang sudah ada, tetapkan nilai ke kunci menggunakan tanda kurung siku:

person = {"name" => "Alice", "age" => 25}

person["city"] = "Paris"      # Menambahkan pasangan kunci-nilai baru
person["age"] = 26            # Memperbarui nilai yang sudah ada

puts person  # Output: {"name"=>"Alice", "age"=>26, "city"=>"Paris"}

Jika kuncinya ada, nilainya akan diganti. Jika tidak ada, pasangan baru akan ditambahkan ke hash.

Untuk menghapus pasangan kunci-nilai, gunakan delete method dengan kunci yang ingin kamu hapus:

person = {"name" => "Alice", "age" => 25, "city" => "Paris"}

person.delete("city")

puts person  # output: {"name"=>"Alice", "age"=>25}

method delete mengembalikan nilai yang dihapus, yang bisa berguna jika kamu perlu menggunakannya:

person = {"name" => "Alice", "age" => 25}

removed_age = person.delete("age")

puts removed_age  # output: 25

Jika kamu mencoba menghapus kunci yang tidak ada, Ruby cukup mengembalikan nil tanpa memunculkan error.

challenge icon

Tantangan

Mudah

Baca empat baris input:

  1. Nama siswa (string)
  2. Nilai awal (bilangan bulat)
  3. Nilai baru untuk diperbarui (bilangan bulat)
  4. Pasangan kunci-nilai baru dengan format key:value (misalnya, subject:Math)

Buat hash bernama student dengan pasangan kunci-nilai awal berikut:

  • "name" dipetakan ke nama siswa
  • "grade" dipetakan ke nilai awal (sebagai bilangan bulat)

Lalu lakukan perubahan berikut:

  1. Perbarui kunci "grade" dengan nilai baru
  2. Tambahkan pasangan kunci-nilai baru menggunakan kunci dan nilai dari input keempat (nilainya harus tetap berupa string)
  3. Hapus kunci "name" dari hash dan simpan nilai yang dihapus

Cetak nama yang dihapus pada baris pertama, lalu cetak hash akhir pada baris kedua.

Misalnya, jika inputnya adalah Alice, 85, 92, dan subject:Math, outputnya seharusnya:

Alice
{"grade"=>92, "subject"=>"Math"}

Jika inputnya adalah Bob, 70, 75, dan status:passing, outputnya seharusnya:

Bob
{"grade"=>75, "status"=>"passing"}

Jika inputnya adalah Charlie, 100, 95, dan note:excellent, outputnya seharusnya:

Charlie
{"grade"=>95, "note"=>"excellent"}

Coba sendiri

# Baca input
name = gets.chomp
initial_grade = gets.to_i
new_grade = gets.to_i
key_value_pair = gets.chomp

# TODO: Tulis kodemu di bawah ini
# 1. Buat hash bernama 'student' dengan kunci "name" dan "grade"
# 2. Perbarui kunci "grade" dengan nilai nilai baru
# 3. Uraikan key_value_pair dan tambahkan ke hash
# 4. Hapus kunci "name" dan simpan nilai yang dihapus

# Tampilkan output nama yang dihapus
puts removed_name
# Tampilkan output hash akhir
puts student
quiz iconUji dirimu

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

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Ruby online