ฉันเพิ่งได้ยินคนพูดถึงรหัสเป็น "แลมบ์ดา" ฉันไม่เคยได้ยินวลีนี้มาก่อน มันหมายความว่าอะไร?
ฉันเพิ่งได้ยินคนพูดถึงรหัสเป็น "แลมบ์ดา" ฉันไม่เคยได้ยินวลีนี้มาก่อน มันหมายความว่าอะไร?
คำตอบ:
นิพจน์แลมบ์ดาเป็นทั้งนามธรรม (บางครั้งเรียกว่าฟังก์ชันที่ไม่ระบุตัวตน) แอปพลิเคชันหรือตัวแปร (ภาษาส่วนใหญ่ยังเพิ่มค่าคงที่ในรายการนี้) ศัพท์ของแลมบ์ดาไม่จำเป็นต้องทำหน้าที่และไม่จำเป็นต้องผ่านเป็นพารามิเตอร์แม้ว่าจะเป็นวิธีปฏิบัติทั่วไป
ตัวอย่างทั่วไปของการแสดงออกแลมบ์ดาใน C #
ตัวอย่างเช่น:
List<int> items = new List<int>();
items.add(1);
items.add(2);
items.add(1);
items.add(3);
int CountofOnes = items.FindAll(item => item == 1).Count();
Console.Out.WriteLine(CountofOnes);
จะส่งออก: 2
ในรหัสนี้ฉันส่งแลมบ์ดาก่อสร้างให้กับFindAll
ฟังก์ชั่นของList
วัตถุของ. NET
items.FindAll(item => item == 1)
แลมบ์ดาในการเรียกครั้งนี้ดำเนินการสมการง่าย ๆ และคืนค่าบูลีนโดยบอกFindAll
ว่าต้องทำอะไร
ฟังก์ชั่นที่ไม่ระบุชื่อ (ไม่มีชื่อ) หรือวัตถุที่มักจะ inline เป็นอาร์กิวเมนต์ให้กับฟังก์ชั่นอื่น
ดังนั้นเนมสเปซจึงมีมลพิษน้อย
แลมบ์ดามักจะอ้างถึงการแสดงออกของฟังก์ชั่นในบริบทการเขียนโปรแกรมการทำงาน
นี่คือการแสดงออกแลมบ์ดาในงูหลาม:
lambda x: x + 1
แสดงให้เห็นถึงฟังก์ชั่นที่เพิ่มขึ้นของพารามิเตอร์x
โดย 1