case/when İfadeleri
Çok yönlü dallanma
case/when İfadeleri, CoddyKit'te ücretsiz bir Ruby Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Ruby Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Ruby Academy kursu toplamda 4 dersten oluşur.
Çok Yollu Dallanma
Bir değeri birçok olasılıkla karşılaştırdığınızda uzun bir if/elsif zinciri gürültülü hale gelir. Ruby'nin case ifadesi, çok yollu dallanmayı temiz ve okunabilir kılar.
day = "Mon"
case day
when "Sat", "Sun"
puts "Weekend"
else
puts "Weekday"
endTemel case / when
case sonrasındaki değer, when ifadelerinin her biriyle sırayla karşılaştırılır. İlk eşleşme çalıştırılır, ardından denetim end konumuna geçer.
grade = "B"
case grade
when "A"
puts "Excellent"
when "B"
puts "Good"
when "C"
puts "Okay"
endHer when İçin Birden Çok Değer
Bir when içinde birden çok değeri virgüllerle ayırarak listeleyin. Bunlardan herhangi biri eşleşirse o dal çalışır.
char = "e"
case char
when "a", "e", "i", "o", "u"
puts "Vowel"
else
puts "Consonant"
endelse Dalı
Tüm diğer durumları karşılamak için else ekleyin. Eklenmezse eşleşmeyen bir case yalnızca nil döndürür.
code = 500
case code
when 200
puts "OK"
when 404
puts "Not Found"
else
puts "Other status"
endcase Bir İfadedir
if gibi case de eşleşen dalın değerini döndürür; bu nedenle doğrudan atama yapabilirsiniz.
score = 82
letter = case
when score >= 90 then "A"
when score >= 80 then "B"
else "C"
end
puts letterthen Anahtar Sözcüğü
Kısa dallarda gövdeyi when ile aynı satıra yazmak için then kullanın.
n = 3
case n
when 1 then puts "one"
when 2 then puts "two"
when 3 then puts "three"
endAralıklarla Eşleştirme
Bir when bir aralık içerebilir. Ruby perde arkasında === işleçini kullanır ve bir aralığın === işleci üyelik denetimi yapar.
score = 73
case score
when 90..100 then puts "A"
when 70..89 then puts "B"
when 0..69 then puts "C"
endSınıfa Göre Eşleştirme
Class === object ifadesi, nesne bir örnek olduğunda doğru olduğundan tür üzerinden dallanma yapabilirsiniz.
value = 3.14
case value
when Integer then puts "an integer"
when Float then puts "a float"
when String then puts "a string"
end=== İşlecinin Sihri
Her when, pattern === value çağrısını yapar. Aralıklar, sınıflar ve düzenli ifadeler kullanışlı === davranışları tanımladığı için case bu kadar esnektir.
email = "jane@example.com"
case email
when /@/ then puts "Looks like an email"
else puts "No @ sign"
endÖznesiz case
Düzenli bir if/elsif zinciri gibi, boole koşullarından oluşan temiz bir zincir yazmak için case sonrasındaki değeri belirtmeyin.
temp = 5
case
when temp < 0 then puts "Freezing"
when temp < 15 then puts "Cold"
when temp < 25 then puts "Mild"
else puts "Warm"
endHepsini Birleştirme
Kararı tek bir değer yönlendirdiğinde case idealdir. Her dal ayrı bir boole denetimiyse öznesiz biçimi tercih edin.
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 msgHızlı Denetim
case/when anlayışınızı sınayın.
Özet
case ifadesini öğrendiniz:
whenilk eşleşeni bulur, ardındanendkonumuna geçer.- Tek bir
wheniçinde birden çok değer listelenebilir. casebir değer döndürür vethenkullanımını destekler.- Aralıklar, sınıflar ve düzenli ifadeler,
when===kullandığı için çalışır. - Öznesiz biçim, temiz bir boole zinciridir.
n = 42
kind = case
when n.zero? then "zero"
when n.positive? then "positive"
else "negative"
end
puts kindSıkça Sorulan Sorular
“case/when İfadeleri” dersi ücretsiz mi?
Evet — “case/when İfadeleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Ruby Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Ruby Academy kursu toplamda 4 dersten oluşur.
“case/when İfadeleri” dersinde ne öğreneceğim?
Çok yönlü dallanma Ruby Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Ruby Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Ruby Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“case/when İfadeleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Ruby Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Ruby Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- if, unless, üçlü işleç
- case/when İfadeleri
- Ruby'de Doğruluk Değeri
- Koruma Yan Tümceleri