0Pricing
Ruby Academy · Pelajaran

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"
end

case / 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"
end

Beberapa 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"
end

Cabang 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"
end

case 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 letter

Kata 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"
end

Mencocokkan 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"
end

Mencocokkan 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"
end

Keajaiban ===

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"
end

case 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"
end

Menggabungkan 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 msg

Pemeriksaan Cepat

Uji pemahaman Anda tentang case/when.

Rangkuman

Anda telah mempelajari ekspresi case:

  • when mencocokkan kecocokan pertama, lalu langsung menuju end.
  • Satu when dapat mencantumkan beberapa nilai.
  • case mengembalikan nilai dan mendukung then.
  • Rentang, Kelas, dan ekspresi reguler berfungsi karena when menggunakan ===.
  • 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 kind

Pertanyaan 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

  1. if, unless, ternary
  2. Ekspresi case/when
  3. Nilai Kebenaran di Ruby
  4. Klausa Penjaga
← Kembali ke Ruby Academy