Lambda ifadeleri, özellikle fonksiyonel programlama dillerinde yaygın olarak kullanılan, isimsiz (anonim) fonksiyonlar oluşturmaya yarayan bir yapıdır. Bu fonksiyonlar, genellikle kısa ve tek satırlık işlemleri gerçekleştirmek için kullanılırlar.
Lambda ifadeleri, belirli bir sözdizimi ile tanımlanır ve genellikle bir veya daha fazla girdi alıp, tek bir ifadeyi değerlendirerek bir sonuç döndürürler. İsimsiz olmaları, bir değişkene atanmadıkları veya doğrudan çağrılmadıkları anlamına gelir. Bu nedenle, genellikle başka fonksiyonlara argüman olarak geçirilirler veya fonksiyonel programlama yapılarında kullanılırlar.
Lambda kavramı, Lambda Hesabı'ndan türetilmiştir. Lambda Hesabı, Alonzo Church tarafından 1930'larda geliştirilen ve hesaplanabilirliği matematiksel olarak ifade etmeyi amaçlayan bir formal sistemdir. Modern programlama dillerindeki lambda ifadeleri, bu teorik temele dayanır.
Lambda ifadeleri, birçok farklı alanda kullanılabilir:
Lambda ifadelerinin sözdizimi, kullanılan programlama diline göre değişiklik gösterir. Ancak, genel olarak şu öğelerden oluşur:
=>
, ->
veya lambda
gibi özel bir simge veya anahtar kelime.Aşağıda, farklı programlama dillerinde lambda ifadelerine örnekler verilmiştir:
Python:
# Tek parametreli lambda ifadesi
kare = lambda x: x * x
print(kare(5)) # Output: 25
# Çok parametreli lambda ifadesi
toplam = lambda x, y: x + y
print(toplam(3, 4)) # Output: 7
Java (8 ve sonrası):
// Tek parametreli lambda ifadesi
interface SayiKareleyici {
int kareAl(int x);
}
public class Main {
public static void main(String[] args) {
SayiKareleyici kare = (x) -> x * x;
System.out.println(kare.kareAl(5)); // Output: 25
}
}
JavaScript:
// Tek parametreli lambda ifadesi (arrow function)
const kare = x => x * x;
console.log(kare(5)); // Output: 25
// Çok parametreli lambda ifadesi (arrow function)
const toplam = (x, y) => x + y;
console.log(toplam(3, 4)); // Output: 7
C#:
// Tek parametreli lambda ifadesi
Func<int, int> kare = x => x * x;
Console.WriteLine(kare(5)); // Output: 25
// Çok parametreli lambda ifadesi
Func<int, int, int> toplam = (x, y) => x + y;
Console.WriteLine(toplam(3, 4)); // Output: 7
Lambda ifadeleri, modern programlama dillerinde önemli bir araçtır. Özellikle fonksiyonel programlama ve veri işleme gibi alanlarda, kodun daha kısa, öz ve okunabilir olmasını sağlarlar. Ancak, karmaşık işlemleri gerçekleştirmek veya okunabilirlik sorunlarını önlemek için dikkatli kullanılmaları gerekir. Her programlama dilinin kendine özgü lambda ifade sözdizimi ve kısıtlamaları olduğu unutulmamalıdır.