0Pricing
Ruby Academy · Pelajaran

Nilai Default dan Penggabungan

fetch, merge, dig.

Nilai Default dan Penggabungan adalah pelajaran Ruby Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Ruby Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Ruby Academy mencakup 4 pelajaran total.

Masalah dengan nil

Membaca kunci yang hilang mengembalikan nil, yang dapat menimbulkan kejutan dalam perhitungan atau logika. Ruby menyediakan cara yang lebih aman untuk menangani ketiadaan nilai.

h = { a: 1 }
puts h[:b].inspect

fetch untuk Akses Aman

fetch mengembalikan nilai atau memunculkan kesalahan yang jelas jika kuncinya hilang. Gunakan ini ketika suatu kunci wajib ada.

h = { name: "Ada" }
puts h.fetch(:name)

fetch dengan Nilai Bawaan

Berikan argumen kedua kepada fetch sebagai cadangan yang hanya digunakan ketika kuncinya hilang.

h = { name: "Ada" }
puts h.fetch(:age, 0)
puts h.fetch(:name, "Unknown")

fetch dengan Blok

Berikan blok untuk menghitung cadangan secara malas. Blok hanya dijalankan ketika pencarian tidak menemukan kunci.

h = {}
puts h.fetch(:x) { "computed default" }

Hash dengan Nilai Bawaan

Hash.new(default) mengembalikan nilai bawaan untuk setiap kunci yang hilang, bukan nil. Nilai bawaan tersebut digunakan bersama, jadi sebaiknya gunakan cara ini untuk nilai sederhana yang tidak dapat diubah.

counts = Hash.new(0)
counts[:a] += 1
counts[:a] += 1
puts counts[:a]
puts counts[:b]

Nilai Bawaan dengan Blok

Hash.new { |hash, key| ... } menghitung nilai bawaan baru untuk setiap kunci, ideal untuk mengelompokkan data ke dalam larik.

groups = Hash.new { |h, k| h[k] = [] }
groups[:fruit] << "apple"
groups[:fruit] << "pear"
puts groups[:fruit].inspect

Menghitung dengan Nilai Bawaan

Nilai bawaan 0 membuat penghitungan kata menjadi sederhana dan rapi.

words = ["a", "b", "a", "a"]
count = Hash.new(0)
words.each { |w| count[w] += 1 }
puts count

Menggabungkan Hash

merge menggabungkan dua hash menjadi hash baru. Jika terjadi konflik, kunci dari hash kedua yang digunakan.

defaults = { color: "red", size: "M" }
user = { color: "blue" }
puts defaults.merge(user)

Menggabungkan dengan Blok

Berikan blok kepada merge untuk menyelesaikan konflik, misalnya dengan menjumlahkan nilai.

a = { x: 1, y: 2 }
b = { y: 3, z: 4 }
puts a.merge(b) { |key, old, new| old + new }

Akses Bertingkat yang Aman dengan dig

dig membaca hash bertingkat dengan aman dan mengembalikan nil jika tingkat mana pun tidak ditemukan, bukan menyebabkan program berhenti karena kesalahan.

data = { user: { address: { city: "London" } } }
puts data.dig(:user, :address, :city)
puts data.dig(:user, :phone, :home).inspect

Menggabungkan Alat-Alat

Gunakan nilai bawaan dan merge secara bersamaan untuk menyusun konfigurasi dari nilai dasar serta penggantinya.

base = { retries: 3, timeout: 30 }
options = base.merge(timeout: 60)
puts options.fetch(:timeout)

Pemeriksaan Singkat

Periksa pemahaman Anda tentang nilai bawaan dan penggabungan.

Ringkasan

Sekarang Anda dapat menangani data yang hilang dengan baik:

  • fetch dengan nilai bawaan, blok, atau kesalahan ketat
  • Hash.new(0) dan nilai bawaan berbasis blok untuk penghitungan dan pengelompokan
  • merge dengan blok konflik
  • dig untuk akses bertingkat yang aman

Kursus berikutnya: rentang dan Enumerable.

c = Hash.new(0)
c[:hits] += 1
puts c[:hits]

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Nilai Default dan Penggabungan” gratis?

Ya — teks lengkap “Nilai Default dan Penggabungan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Ruby Academy, upgrade ke CoddyKit PRO. Kursus Ruby Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Nilai Default dan Penggabungan”?

fetch, merge, dig. Kamu berlatih Ruby Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Ruby Academy?

Tidak diperlukan pengalaman sebelumnya. Ruby Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Nilai Default dan Penggabungan” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Ruby Academy ini?

Ya. Setiap pelajaran Ruby Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Simbol vs String
  2. Membuat dan Membaca Hash
  3. Iterasi Hash
  4. Nilai Default dan Penggabungan
← Kembali ke Ruby Academy