0Pricing
Ruby Academy · Ders

Bulma Örüntüleri ve Koruyucular

Eşleşmelerde koşullar

Bulma Örüntüleri ve Koruyucular, CoddyKit'te ücretsiz bir Ruby Academy dersidir. Bu, 4 dersinin 3. 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.

Koruma Koşulları

Bir desene if veya unless koruma koşulu ekleyin. Dal yalnızca hem desen hem de koşul başarılı olduğunda eşleşir.

case 7
in Integer => n if n.odd?
  puts 'odd integer'
end

Koruma Koşulları Bağlı Değişkenleri Kullanır

Koruma koşulu, desen tarafından bağlanan değişkenlere başvurabilir; böylece eşleşen verilerle ilgili kapsamlı koşullar ifade edebilirsiniz.

case [4, 9]
in [a, b] if a < b
  puts 'ascending pair'
end

unless Koruma Koşulları

Bir unless koruma koşulu, koşul yanlış olduğunda eşleşir; if ifadesinin tersidir.

case 0
in Integer => n unless n.positive?
  puts 'zero or negative'
end

Birden Çok Koruma Koşullu Dal

Açık bir karar dizisi oluşturmak için dallardaki koruma koşullarını birleştirin.

def grade(score)
  case score
  in Integer => s if s >= 90 then 'A'
  in Integer => s if s >= 70 then 'B'
  else 'C'
  end
end
puts(grade(85))

Bulma Desenleri

Bir bulma deseni olan [*, x, *], iki ucunda splat bulunması sayesinde bir alt deseni dizinin içinde herhangi bir yerde arar.

case [1, 2, 3, 4]
in [*, 3, *]
  puts 'contains a 3'
end

Bulma Deseni İçinde Bağlama

Bulma desenindeki eşleşen öğe bir değişkene bağlanarak bulunan değer alınabilir.

case [10, 20, 30]
in [*, x, *] if x > 25
  puts("found #{x}")
end

Çevreleyen Öğeleri Alma

Bulma desenindeki her iki splat adlandırılarak eşleşmeden önceki ve sonraki öğeler alınabilir.

case [1, 2, 99, 4, 5]
in [*before, 99, *after]
  p before
  p after
end

Belirli Türde Bir Öğe Bulma

Bulma desenleri, belirli bir türdeki ilk öğeyi bulmak için tür desenleriyle birleştirilebilir.

case [1, 'hi', 2]
in [*, String => word, *]
  puts(word)
end

Koruma Koşulları ve Desenler

Yapısal olarak ifade edebildiklerinizi desende belirtin; koruma koşullarını yalnızca desenlerin yakalayamayacağı koşullar (sayısal karşılaştırmalar veya yöntem çağrıları gibi) için kullanın.

case { role: 'admin', age: 40 }
in { role: 'admin', age: } if age >= 18
  puts 'adult admin'
end

Bulma ve Koruma Koşulunu Birleştirme

Bulma desenleri ve koruma koşulları birlikte kullanıldığında şu soruyu sorabilirsiniz: herhangi bir öğe bu koşulu karşılıyor mu?

numbers = [3, 5, 8, 11]
case numbers
in [*, n, *] if n.even?
  puts("first even-ish hit: #{n}")
end

Dalların Sırası

Dallar yukarıdan aşağıya denenir; ilk eşleşme kazanır. Daha özel koruma koşullu desenleri genel olanlardan önce yazın.

case 100
in Integer => n if n > 50 then puts 'big'
in Integer then puts 'small'
end

Hızlı Kontrol

[*, x, *] bulma deseni ne yapar?

Özet: Bulma Desenleri ve Koruma Koşulları

Eşleştirmeye koşullar ve arama eklediniz:

  • if / unless koruma koşulları bir deseni daha kesin hâle getirir
  • Koruma koşulları bağlı değişkenleri kullanabilir
  • [*, x, *] bulma desenleri her yerde arama yapar
  • Her iki splat adlandırılarak çevredeki öğeler alınabilir
  • İlk eşleşen dal kazanır; bu nedenle sıra önemlidir
case [1, 7, 3]
in [*, x, *] if x > 5 then puts x
end

Sıkça Sorulan Sorular

“Bulma Örüntüleri ve Koruyucular” dersi ücretsiz mi?

Evet — “Bulma Örüntüleri ve Koruyucular” 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.

“Bulma Örüntüleri ve Koruyucular” dersinde ne öğreneceğim?

Eşleşmelerde koşullar 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 3. dersidir.

“Bulma Örüntüleri ve Koruyucular” 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

  1. case/in Temelleri
  2. Dizi ve Hash Örüntüleri
  3. Bulma Örüntüleri ve Koruyucular
  4. Pratik Kullanım Alanları
← Ruby Academy Sayfasına Dön