Menu
CoddyTech

Symbol sebagai Kunci Hash

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

Sejauh ini, kamu telah menggunakan string sebagai kunci hash dengan sintaks hash rocket. Namun, pengembang Ruby biasanya menggunakan symbol sebagai kunci, yang menawarkan pendekatan yang lebih rapi dan efisien.

Ingat simbol dari sebelumnya? Simbol adalah pengenal ringan yang tidak dapat diubah dan diawali dengan titik dua. Saat menggunakan simbol sebagai kunci, Ruby menyediakan sintaks singkat khusus:

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

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

Perhatikan bagaimana name: menggantikan :name =>. Bentuk singkat ini hanya berfungsi jika key berupa simbol. Untuk mengakses nilai, gunakan simbol dengan tanda kurung siku:

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

puts person[:name]  # Output: Alice
puts person[:age]   # Output: 25

Menambahkan dan mengubah entri dilakukan dengan cara yang sama:

person = {name: "Alice"}

person[:city] = "Paris"
person[:name] = "Bob"

puts person  # Output: {:name=>"Bob", :city=>"Paris"}

Simbol lebih disukai sebagai kunci hash karena lebih cepat dibandingkan string dan menggunakan lebih sedikit memori. Kamu akan sering melihat pola ini dalam kode Ruby, jadi sebaiknya kamu membiasakan diri dengannya.

challenge icon

Tantangan

Mudah

Baca tiga baris input:

  1. Merek mobil (string)
  2. Nama model (string)
  3. Tahun (bilangan bulat)

Buat hash bernama car menggunakan sintaks singkat simbol (misalnya, key: value) dengan pasangan kunci-nilai berikut:

  • :brand dipetakan ke merek mobil
  • :model dipetakan ke nama model
  • :year dipetakan ke tahun (sebagai bilangan bulat)

Lalu lakukan operasi berikut:

  1. Cetak nilai dari kunci :model
  2. Tambahkan kunci baru :color dengan nilai "black"
  3. Perbarui kunci :year dengan menambahkan 1 ke nilainya saat ini
  4. Cetak hash akhir

Misalnya, jika inputnya adalah Toyota, Camry, dan 2020, outputnya seharusnya:

Camry
{:brand=>"Toyota", :model=>"Camry", :year=>2021, :color=>"black"}

Jika inputnya adalah Honda, Civic, dan 2018, outputnya seharusnya:

Civic
{:brand=>"Honda", :model=>"Civic", :year=>2019, :color=>"black"}

Jika inputnya adalah Ford, Mustang, dan 2023, outputnya seharusnya:

Mustang
{:brand=>"Ford", :model=>"Mustang", :year=>2024, :color=>"black"}

Coba sendiri

# Baca input
brand = gets.chomp
model = gets.chomp
year = gets.chomp.to_i

# TODO: Tulis kodemu di bawah ini
# 1. Buat hash bernama 'car' menggunakan sintaks singkat symbol dengan kunci :brand, :model, dan :year

# 2. Cetak nilai dari kunci :model

# 3. Tambahkan kunci baru :color dengan nilai "black"

# 4. Perbarui kunci :year dengan menambahkan 1 ke nilainya saat ini

# 5. Cetak hash akhir
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