0Pricing
Ruby Academy · Ders

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

return 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 demo

Lambda 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 return ifadesini 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.
  • return yalnı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.

Bu kursun tüm dersleri

  1. Blokların Özeti
  2. Proc'lar
  3. Lambda'lar
  4. Kapanımlar ve Kapsam
← Ruby Academy Sayfasına Dön