السلام عليكم ما معنى هذا الكود مثال:
1->{ }
في البرمجة
وعليكم السلام
الكود المعطى هو تعبير lambda في لغة الجافا. يمثل هذا التعبير كتلة كود يمكن تنفيذها.
يعادل هذا التعبير:
() -> { // كتلة كود }
مثال كامل:
1-> { System.out.println("مرحبا من لامبدا!"); }
يمكنك تنفيذ هذا اللامبدا كالتالي:
(1-> { System.out.println("مرحبا من لامبدا!"); }).invoke();
سيكون الإخراج:
مرحبا من لامبدا!
إذاً تعابير lambda تمثل دالة مجهولة (دالة بدون اسم) يمكن استخدامها داخليًا في كودك.
تجعل كودك أكثر ايجازًا ومرونة.
يمكنك قراءة المزيد من التفاصيل من خلال هذه المقالة
يتم استخدام الأرقام الموجودة بالقوسين المتعامدتين "->" في لغة البرمجة جافا لتعريف ما يسمى بـ "Lambda Expressions"، والتي تستخدم لتعريف دوال بسيطة بشكل أكثر فعالية وسهولة.
و"Lambda Expressions" هي طريقة لتعريف وإنشاء دوال (Functions) بشكل مختصر وسريع داخل الشفرة، بحيث يمكن إستخدامها في بناء تطبيقات برمجية متعددة.
حيث يتم استخدام "Lambda Expressions" لتحل مشكلة إنشاء كود مكرر (Boilerplate Code)، وهي طريقة للحصول على كود أكثر قابلية لإعادة الاستخدام وأقل تكرارًا وخطأ.
وتستخدم"Lambda Expressions" عن طريق تعريفها بالقوسين المتعامدتين ()، متبوعًا بالسهم -> ، ثم الجملة البرمجية التي تقوم بتنفيذها. على سبيل المثال، إذا كنت تحتاج إلى إنشاء دالة تقوم بجمع اثنين من الأرقام، يمكنك استخدام "Lambda Expression" كالتالي:
(int a, int b) -> a + b
ولعلك تتسائل ما الفرق بين الكود السابق والكود التالي:
1-> { System.out.println("مرحبا من لامبدا!"); }
والفرق بين الكودين هو أن الأول يستخدم "Lambda Expression" لتعريف دالة بسيطة تقوم بطباعة رسالة في وحدة الإخراج (الـ Console)، بينما الثاني يستخدم "Lambda Expression" لتعريف دالة أخرى تقوم بإجراء عملية جمع بسيطة على متغيرين من نوع الصحيح (int).
وتعريف الدالة في الكود الأول يستخدم الأرقام "1->" للإشارة إلى أن هذه الدالة لا تستقبل أي متغيرات ولا ترجع أي قيمة، وإنما تقوم بطباعة رسالة ثابتة في وحدة الإخراج.
بينما تعريف الدالة في الكود الثاني يستخدم "Lambda Expression" لتحديد المدخلات المتوقعة للدالة (int a و int b)، ثم يستخدم السهم "->" للإشارة إلى أن الدالة تقوم بإجراء عملية جمع على المدخلات، وترجع الناتج من هذه العملية كقيمة خارجية.
ويمثل الكود الثاني استخدامًا أكثر انتشارًا لـ "Lambda Expressions" في البرمجة، حيث يتم استخدامها لتعريف دوال بسيطة تقوم بإجراء عمليات مختلفة على البيانات والمتغيرات.
هذا الكود عبارة عن Lambda Expressions و هي ميزة مدخلة في لغة جافا 8، تسمح للمطورين بكتابة كود أقصر وأكثر وضوحًا للتعامل مع الحدث والتفاعلات والأداءات في التطبيقات.
لامبدا لها القدرة على تعريف وإنشاء الوظائف المجهولة وإعادة استخدامها في مكان واحد أو أكثر في التطبيق.
حيث يمكن استخدامهما في forEach() و في جميع الحاويات المتداخلة في Java وأكثر من ذلك بكثير.
1. إنشاء متغير مؤقت للوظائف
مثال: بدلاً من كتابة إستنادًا إلى واجهات، يمكننا استخدام اللامدى لإنشاء كائنات مؤقتة للوظائف.
Runnable r = () -> { System.out.println("Hello, World"); };
2. دالة المصفوفات
مثال: يمكننا استخدام اللامدى لإنشاء دوال بسيطة لإجراء عمليات على المصفوفات.
int[] numbers = {1, 2, 3, 4, 5}; Arrays.stream(numbers) .filter((x) -> x % 2 == 0) .forEach(System.out::println);
3. دالة مصفوفات النص (String Arrays)
مثال: يمكننا استخدام اللامدى لإنشاء دوال بسيطة مثل دالة تحويل المصفوفات النصية الحرفية للوحة تحتوي على أحرف منفصلة.
String[] words = {"Hello", "World"}; Arrays.stream(words) .flatMap(s -> Arrays.stream(s.split(""))) .distinct() .forEach(System.out::println);
4. دوال تكرار خطوة معينة
مثال: يمكننا استخدام اللامدى لإنشاء دوال بسيطة لتكرار خطوة محددة بشكل متكرر.
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5); numbers.forEach((n) -> { System.out.println(n); });
التعليقات