Ekspresi case/when
Percabangan multiarah.
Ekspresi case/when 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.
Percabangan Multiarah
Ketika Anda membandingkan satu nilai dengan banyak kemungkinan, rangkaian if/elsif yang panjang menjadi berisik. Ekspresi case Ruby membuat percabangan multiarah menjadi rapi dan mudah dibaca.
day = "Mon"
case day
when "Sat", "Sun"
puts "Weekend"
else
puts "Weekday"
endcase / when Dasar
Nilai setelah case dibandingkan dengan setiap when secara berurutan. Kecocokan pertama dijalankan, lalu alur program langsung menuju end.
grade = "B"
case grade
when "A"
puts "Excellent"
when "B"
puts "Good"
when "C"
puts "Okay"
endBeberapa Nilai per when
Daftarkan beberapa nilai dalam satu when, dengan pemisah koma. Jika salah satunya cocok, cabang tersebut dijalankan.
char = "e"
case char
when "a", "e", "i", "o", "u"
puts "Vowel"
else
puts "Consonant"
endCabang else
Tambahkan else sebagai penangan semua kondisi. Tanpanya, case yang tidak cocok akan langsung mengembalikan nil.
code = 500
case code
when 200
puts "OK"
when 404
puts "Not Found"
else
puts "Other status"
endcase adalah Ekspresi
Seperti if, case mengembalikan nilai dari cabang yang cocok, sehingga Anda dapat langsung menetapkannya.
score = 82
letter = case
when score >= 90 then "A"
when score >= 80 then "B"
else "C"
end
puts letterKata Kunci then
Gunakan then untuk menempatkan isi blok pada baris yang sama dengan when untuk cabang singkat.
n = 3
case n
when 1 then puts "one"
when 2 then puts "two"
when 3 then puts "three"
endMencocokkan Rentang
Sebuah when dapat berisi Rentang. Ruby menggunakan operator === di balik layar, dan === milik Rentang memeriksa keanggotaan.
score = 73
case score
when 90..100 then puts "A"
when 70..89 then puts "B"
when 0..69 then puts "C"
endMencocokkan berdasarkan Kelas
Karena Class === object bernilai benar ketika objek tersebut adalah sebuah instans, Anda dapat melakukan percabangan berdasarkan jenis.
value = 3.14
case value
when Integer then puts "an integer"
when Float then puts "a float"
when String then puts "a string"
endKeajaiban ===
Setiap when memanggil pattern === value. Rentang, Kelas, dan ekspresi reguler semuanya mendefinisikan perilaku === yang berguna, sehingga case menjadi sangat fleksibel.
email = "jane@example.com"
case email
when /@/ then puts "Looks like an email"
else puts "No @ sign"
endcase tanpa Subjek
Abaikan nilai setelah case untuk menulis rangkaian kondisi boolean yang rapi, seperti if/elsif yang tertata.
temp = 5
case
when temp < 0 then puts "Freezing"
when temp < 15 then puts "Cold"
when temp < 25 then puts "Mild"
else puts "Warm"
endMenggabungkan Semuanya
case ideal ketika satu nilai menentukan keputusan. Gunakan bentuk tanpa subjek ketika setiap cabang merupakan pengujian boolean yang terpisah.
role = :admin
msg = case role
when :admin then "Full access"
when :editor then "Can edit"
when :viewer then "Read only"
else "No access"
end
puts msgPemeriksaan Cepat
Uji pemahaman Anda tentang case/when.
Rangkuman
Anda telah mempelajari ekspresi case:
whenmencocokkan kecocokan pertama, lalu langsung menujuend.- Satu
whendapat mencantumkan beberapa nilai. casemengembalikan nilai dan mendukungthen.- Rentang, Kelas, dan ekspresi reguler berfungsi karena
whenmenggunakan===. - Bentuk tanpa subjek merupakan rangkaian boolean yang rapi.
n = 42
kind = case
when n.zero? then "zero"
when n.positive? then "positive"
else "negative"
end
puts kindPertanyaan yang Sering Diajukan
Apakah pelajaran “Ekspresi case/when” gratis?
Ya — teks lengkap “Ekspresi case/when” 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 “Ekspresi case/when”?
Percabangan multiarah. 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 “Ekspresi case/when” 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
- if, unless, ternary
- Ekspresi case/when
- Nilai Kebenaran di Ruby
- Klausa Penjaga