Lambda چیست ؟
در این مقاله به بررسی Lambda چیست ؟ و ویژگی های Lambda می پردازیم در اکثر زبان های برنامه نویسی شاید با Lambda برخورد کرده باشید و حتی از آنها استفاده کرده باشید ولی علت استفاده از Lambda را نداید در ادامه با ما همراه باشید تا Lambda را به صورت تخصصی مورد بررسی قرار دهیم.
Lambda چیست ؟
در بیشتر زبان های برنامه نویسی می توان از Lambda استفاده کرد Lambda یک نوع anonymous functions (توابع ناشناس) هست که سادگی کد رو به ارمغان میاره و در واقع باعث میشه کد ساده بشه بدون اینکه یک نامی برای Function قرار دهیم می توانیم آن را ایجاد کنیم و حتی مقدار برگشتی از آن نیز داشته باشیم در واقع نوع کوتاه شده دستورات بلند بالا را می توان دستورات یا استاندارد Lambda دانست به این شکل که شما می توانید در چندین خط کوتاه کار چند صد خط کد را ساده سازی کنید و در واقع یک نوع concept برنامه نویسی است.
Lambda نام های دیگر مانند Closures, Anonymous Functions و Blocks دارد.
برخی از زبان هایی که از concept لامبدا (Lambda) استفاده می کنند عبارتند از :
- Python
- JavaScript
- Swift
- Scheme
- Java
- C#
- PHP
- و…
برخی از مزایای Lambda عبارتند از :
- کاهش کد نویسی
- خوانایی بهتر
- قابل اطمینان تر
- ویرایش سریع لامبدا
- پیشتبانی از همه چیز ! (جمع ضرب و کلی کارهای پیشرفته دیگر)
یک کد سی شارپ که از Lambda استفاده نکرده است در ادامه قرار میدهیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public Int32 Add(Int32 a, Int32 b) { return a + b; } public Int32 Sub(Int32 a, Int32 b) { return a - b; } public delegate Int32 Op(Int32 a, Int32 b); public void Calculator(Int32 a, Int32 b, Op op) { Console.WriteLine("Calculator: op(" + a + ", " + b + ") = " + op(a, b)); } public void Test() { Calculator(10, 23, Add); Calculator(10, 23, Sub); } |
کد بالا عمل جمع و تفریق را انجام میدهد.
کد زیر همان کد بالا است البته با روش Lambda پیاده سازی شده است.
1 2 3 4 5 6 7 8 9 10 | public delegate Int32 Op(Int32 a, Int32 b); public void Calculator(Int32 a, Int32 b, Op op) { Console.WriteLine("Calculator: op(" + a + ", " + b + ") = " + op(a, b)); } public void Test() { Calculator(10, 23, (a, b) => a + b); Calculator(10, 23, (a, b) => a - b); } |
هردو کد بالا یک کاری را انجام میدهند ولی اگر دیده باشید کد بالا هم خوانایی و هم نسبت به کد قبل کمتر است.
این مقاله هم به پایان رسید.
موفق و پیروز باشید.
یک پاسخ به “Lambda چیست ؟”