Lambda'lar
Kesin ariteye sahip proc'lar
Lambda'lar, 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.
Katı Argüman Sayılı Proc Nesneleri
Bir lambda, normal bir metot gibi davranan özel bir Proc türüdür: Argüman sayısını denetler ve return ifadesini normal şekilde ele alır. Öngörülebilir, metot benzeri bir davranış istediğinizde kullanın.
square = lambda { |x| x * x }
puts square.call(6)Ok Biçimli Lambda
-> ok söz dizimi, "saplı lambda" lakabıyla, lambda yazmanın en yaygın yoludur. Parametreler parantez içine yazılır.
add = ->(a, b) { a + b }
puts add.call(4, 5)Lambda Çağırma
Lambdalar, Proc nesneleriyle aynı çağırma biçimlerini destekler: .call, .() ve [ ].
triple = ->(x) { x * 3 }
puts triple.call(2)
puts triple.(2)
puts triple[2]Katı Argüman Denetimi
Bir Proc nesnesinin aksine lambda, yanlış sayıda argüman verirseniz ArgumentError oluşturur. Bu, hataları erken yakalamanızı sağlar.
greet = ->(name) { "Hi #{name}" }
puts greet.call("Sam")
begin
greet.call
rescue ArgumentError => e
puts "Error: #{e.message}"
endreturn Yerel Kalır
Bir lambda içindeki return yalnızca lambdadan çıkar; ardından yürütme devam eder. Bu davranış, metotların çalışma biçimiyle aynıdır.
def demo
l = -> { return 10 }
l.call
20 # this runs
end
puts demoLambda Denetimi
Hem Proc nesneleri hem de lambdalar Proc örneğidir. Bunları birbirinden ayırmak için lambda? kullanın.
l = ->(x) { x }
pr = proc { |x| x }
puts l.lambda?
puts pr.lambda?Argümansız Lambdalar
Bir lambda parametre almıyorsa parantezleri atlayabilirsiniz.
now = -> { Time.now.year }
puts "Year: #{now.call}"Çok Satırlı Lambdalar
Lambdalar birden fazla satıra yayılabilir. Son ifade, döndürülen değerdir.
classify = ->(n) {
return "zero" if n.zero?
n.positive? ? "positive" : "negative"
}
puts classify.call(0)
puts classify.call(-3)Lambdaları Metotlara Aktarma
Proc nesneleri gibi lambdalar da & ile bloklara dönüştürülür; böylece map, select ve benzeri metotlara aktarılabilir.
doubler = ->(n) { n * 2 }
p [1, 2, 3].map(&doubler)Döndürülen Değer Olarak Lambdalar
Bir metot lambda oluşturup döndürebilir; böylece anında özelleştirilmiş işlevler oluşturabilirsiniz.
def multiplier(by)
->(n) { n * by }
end
times10 = multiplier(10)
puts times10.call(5)Hepsini Bir Araya Getirme
Lambdalar, katı kurallı ve metot benzeri Proc nesneleridir:
lambda { }veya->(args) { }ile yazılır.- Argüman sayısını zorunlu tutar ve
returnifadesini yerel tutar. - Doğruluğun önemli olduğu veya döndürülecek işlevler oluşturduğunuz durumlarda kullanın.
is_even = ->(n) { n.even? }
p [1, 2, 3, 4, 5, 6].select(&is_even)Hızlı Kontrol
Lambdalarla ilgili anlayışınızı test edin.
Özet
Lambdaları öğrendiniz:
- Lambda, katı kurallı bir Proc nesnesidir;
->olarak yazılır. - Argüman sayılarını zorunlu tutar.
returnyalnızca lambadan çıkar.lambda?, onu sıradan bir Proc nesnesinden ayırır.
area = ->(w, h) { w * h }
puts area.call(3, 4)Sıkça Sorulan Sorular
“Lambda'lar” dersi ücretsiz mi?
Evet — “Lambda'lar” 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.
“Lambda'lar” dersinde ne öğreneceğim?
Kesin ariteye sahip proc'lar 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.
“Lambda'lar” 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.