Dizi ve Hash Örüntüleri
Verileri ayrıştırın
Dizi ve Hash Örüntüleri, 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.
Dizi Desenleri
Bir dizi deseni konuma ve uzunluğa göre eşleşir. Her öğe deseni, karşılık gelen öğeyle karşılaştırılır.
case [1, 2, 3]
in [1, 2, 3]
puts 'exact match'
endDizi Öğelerini Bağlama
Her konumu bir değişkene almak için tanımlayıcıları kullanın.
case [10, 20]
in [x, y]
puts(x + y)
endUzunluk Önemlidir
Varsayılan olarak bir dizi deseni tam uzunluk gerektirir. İki öğeli bir desen, üç öğeli bir diziyle eşleşmez.
case [1, 2, 3]
in [a, b]
puts 'two'
in [a, b, c]
puts 'three'
endKalanlar İçin Splat
Bir splat olan *rest, kalan öğelerin herhangi bir sayısını bir diziye alarak uzunluğu esnek hâle getirir.
case [1, 2, 3, 4]
in [first, *rest]
puts(first)
p rest
endOrtada Splat Kullanımı
Splat, sabit öğelerin arasına yerleşerek başı ve sonu alabilir, ortadaki bölümü yok sayabilir.
case [1, 2, 3, 4, 5]
in [first, *, last]
puts("#{first} ... #{last}")
endHash Desenleri
Bir hash deseni anahtarlara göre eşleşir. Verilen anahtarların var olduğunu ve değerlerinin eşleştiğini denetler; ek anahtarlara izin verilir.
case { name: 'Ada', age: 36 }
in { name: 'Ada' }
puts 'found Ada'
endHash Değerlerini Bağlama
Anahtara bir bağlama adı vererek bir değeri alın. Yalnızca anahtarı yazmak, aynı ada sahip bir değişkene bağlar.
case { name: 'Bob', age: 25 }
in { name: String => n, age: Integer => a }
puts("#{n} is #{a}")
endKısa Anahtar Bağlama Yazımı
Bir anahtarın ardından deseni yazmamak, anahtardan türetilen ada sahip bir değişkeni otomatik olarak bağlar.
case { city: 'Istanbul' }
in { city: }
puts(city)
endEk Anahtar Gerektirmeme
Hash desenleri varsayılan olarak ek anahtarları yok sayar. Yalnızca listelenen anahtarların bulunmasını zorunlu kılmak için **nil ekleyin.
case { a: 1 }
in { a: 1, **nil }
puts 'exactly one key'
endİç İçe Desenler
Desenler serbestçe iç içe yerleştirilebilir; böylece derin yapıları tek bir dalda parçalarına ayırabilirsiniz.
data = { user: { name: 'Ada', tags: ['admin', 'dev'] } }
case data
in { user: { name:, tags: [first_tag, *] } }
puts("#{name}: #{first_tag}")
endParse Edilmiş JSON'u Eşleştirme
Desen eşleştirme, parse edilmiş JSON veya CSV verileriyle mükemmel biçimde birlikte çalışır ve tam olarak ihtiyacınız olan alanları çıkarır.
require 'json'
resp = JSON.parse('{"status":"ok","items":[1,2,3]}', symbolize_names: true)
case resp
in { status: 'ok', items: }
puts(items.sum)
endHızlı Kontrol
Varsayılan olarak hash deseni in { a: 1 }, { a: 1, b: 2 } hash'iyle eşleşir mi?
Özet: Dizi ve Hash Desenleri
Koleksiyonların yapısını çözebilirsiniz:
- Dizi desenleri konuma ve uzunluğa göre eşleşir
*rest, kalan öğeleri alır- Hash desenleri anahtara göre eşleşir ve ek anahtarlara izin verir
- Kısa
{ key: }yazımı, aynı ada sahip değişkenleri bağlar **nilek anahtarları yasaklar; desenler derin biçimde iç içe yerleşebilir
case { id: 1, items: [9, 8] }
in { items: [head, *] } then puts head
endSıkça Sorulan Sorular
“Dizi ve Hash Örüntüleri” dersi ücretsiz mi?
Evet — “Dizi ve Hash Örüntüleri” 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.
“Dizi ve Hash Örüntüleri” dersinde ne öğreneceğim?
Verileri ayrıştırın 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.
“Dizi ve Hash Örüntüleri” 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
- case/in Temelleri
- Dizi ve Hash Örüntüleri
- Bulma Örüntüleri ve Koruyucular
- Pratik Kullanım Alanları