Pola Array dan Hash
Uraikan data.
Pola Array dan Hash adalah pelajaran Ruby Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.
Pola Larik
Pola larik mencocokkan berdasarkan posisi dan panjang. Setiap pola elemen diperiksa terhadap elemen yang bersesuaian.
case [1, 2, 3]
in [1, 2, 3]
puts 'exact match'
endMengikat Elemen Larik
Gunakan pengenal untuk menangkap setiap posisi ke dalam variabel.
case [10, 20]
in [x, y]
puts(x + y)
endPanjang Itu Penting
Secara bawaan, pola larik memerlukan panjang yang persis sama. Pola dengan 2 elemen tidak akan cocok dengan larik yang memiliki 3 elemen.
case [1, 2, 3]
in [a, b]
puts 'two'
in [a, b, c]
puts 'three'
endOperator Bintang untuk Sisa
Operator bintang *rest menangkap sejumlah elemen yang tersisa ke dalam sebuah larik, sehingga panjangnya menjadi fleksibel.
case [1, 2, 3, 4]
in [first, *rest]
puts(first)
p rest
endOperator Bintang di Tengah
Operator bintang dapat ditempatkan di antara elemen tetap untuk mengambil bagian awal dan akhir sambil mengabaikan bagian tengah.
case [1, 2, 3, 4, 5]
in [first, *, last]
puts("#{first} ... #{last}")
endPola Hash
Pola hash mencocokkan berdasarkan kunci. Pola ini memeriksa bahwa kunci yang diberikan ada dan nilainya cocok; kunci tambahan diperbolehkan.
case { name: 'Ada', age: 36 }
in { name: 'Ada' }
puts 'found Ada'
endMengikat Nilai Hash
Tangkap sebuah nilai dengan memberikan nama pengikatan pada kuncinya. Menuliskan kunci saja akan mengikatnya ke variabel dengan nama yang sama.
case { name: 'Bob', age: 25 }
in { name: String => n, age: Integer => a }
puts("#{n} is #{a}")
endPengikatan Kunci Singkat
Menghilangkan pola setelah sebuah kunci akan secara otomatis mengikat variabel yang namanya berasal dari kunci tersebut.
case { city: 'Istanbul' }
in { city: }
puts(city)
endMewajibkan Tanpa Kunci Tambahan
Pola hash mengabaikan kunci tambahan secara bawaan. Tambahkan **nil untuk mewajibkan bahwa hanya kunci yang tercantum yang ada.
case { a: 1 }
in { a: 1, **nil }
puts 'exactly one key'
endPola Tersarang
Pola dapat ditumpuk secara bebas, sehingga Anda dapat menguraikan struktur yang dalam dalam satu cabang.
data = { user: { name: 'Ada', tags: ['admin', 'dev'] } }
case data
in { user: { name:, tags: [first_tag, *] } }
puts("#{name}: #{first_tag}")
endMencocokkan JSON yang Diuraikan
Pencocokan pola sangat cocok dipadukan dengan data JSON atau CSV yang telah diuraikan, untuk mengambil tepat bidang yang Anda perlukan.
require 'json'
resp = JSON.parse('{"status":"ok","items":[1,2,3]}', symbolize_names: true)
case resp
in { status: 'ok', items: }
puts(items.sum)
endPemeriksaan Singkat
Secara bawaan, apakah pola hash in { a: 1 } akan cocok dengan hash { a: 1, b: 2 }?
Ringkasan: Pola Larik dan Hash
Anda dapat menguraikan koleksi:
- Pola larik mencocokkan berdasarkan posisi dan panjang
*restmenangkap elemen yang tersisa- Pola hash mencocokkan berdasarkan kunci dan mengizinkan kunci tambahan
{ key: }sebagai bentuk singkat mengikat variabel dengan nama yang sama**nilmelarang kunci tambahan; pola dapat ditumpuk secara mendalam
case { id: 1, items: [9, 8] }
in { items: [head, *] } then puts head
endPertanyaan yang Sering Diajukan
Apakah pelajaran “Pola Array dan Hash” gratis?
Ya — teks lengkap “Pola Array dan Hash” 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 “Pola Array dan Hash”?
Uraikan data. 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 2 dari 4.
Berapa lama pelajaran “Pola Array dan Hash” 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
- Dasar-Dasar case/in
- Pola Array dan Hash
- Pola Find dan Guard
- Kasus Penggunaan Praktis