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].inspectfetch 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].inspectMenghitung 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 countMenggabungkan 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).inspectMenggabungkan 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:
fetchdengan nilai bawaan, blok, atau kesalahan ketatHash.new(0)dan nilai bawaan berbasis blok untuk penghitungan dan pengelompokanmergedengan blok konflikdiguntuk 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
- Simbol vs String
- Membuat dan Membaca Hash
- Iterasi Hash
- Nilai Default dan Penggabungan