البرمجة

توالي الدوال في Elixir

في Elixir، لا يوجد وظيفة تسمى forEach بالتحديد كما هو الحال في JavaScript. بدلاً من ذلك، يمكنك استخدام توالي الدوال المسمى Enum.each لتحقيق نفس الغرض. تقوم هذه الوظيفة بتطبيق دالة معينة على كل عنصر في القائمة، ولكنها لا تقوم بإرجاع قيمة.

لنقم بإعادة السيناريو الذي ذكرته في JavaScript باستخدام Elixir. لنفترض أن لدينا قائمة من الأرقام تحتوي على [1, 2, 3]، ونريد طباعة كل عنصر في القائمة:

elixir
[1, 2, 3] |> Enum.each(fn(num) -> IO.puts(num) end)

في هذا المثال، نستخدم Enum.each لتمرير كل عنصر من القائمة إلى الدالة المعينة، والتي تقوم بطباعة كل عنصر باستخدام IO.puts. الناتج سيكون مشابهًا لما تم ذكره في المثال الخاص بـ JavaScript:

1 2 3

يمكن أيضًا تحقيق نفس النتيجة باستخدام تفويض الدالة، الذي يقوم بتمرير العنصر كوسيلة للوصول إلى كل عنصر بداخل الدالة:

elixir
[1, 2, 3] |> Enum.each(&IO.puts/1)

هذا الشكل يقوم بنفس العملية مثل الشكل السابق، حيث يتم طباعة كل عنصر في القائمة. يقوم الأمر &IO.puts/1 بإنشاء تفويض لدالة IO.puts التي تأخذ واحدًا من الوسائط، وهو السبب في ظهور الرقم 1 ثم 2 وأخيرًا 3 في الإخراج.

باستخدام Enum.each، يمكنك بسهولة تنفيذ الإجراءات على كل عنصر في القائمة بلغة Elixir، مما يسهل العمل مع البيانات بطريقة أكثر تعبيرية ووضوحًا.

المزيد من المعلومات

بالطبع، دعونا نواصل تطوير المقال لتشمل مزيدًا من التفاصيل حول كيفية استخدام Enum.each في Elixir بالإضافة إلى بعض الأمثلة الإضافية وشرح حول الاستخدامات الشائعة لهذه الوظيفة.

استخدام Enum.each في Elixir

وظيفة Enum.each تعتبر واحدة من الوظائف الأساسية في Elixir وتُستخدم بشكل شائع لتطبيق عمليات على العناصر في القوائم. إليك بعض النقاط الرئيسية حول استخدامها:

  1. تمرير الدالة كوسيط: يُمكن تمرير دالة معينة إلى Enum.each، وسيُقوم هذا الدالة بتطبيقها على كل عنصر في القائمة.
  2. تفويض الدالة: يُمكن استخدام تفويض الدالة & لإنشاء دالة مفوضة بسرعة لتمريرها إلى Enum.each.

أمثلة إضافية

دعونا نلقي نظرة على بعض الأمثلة الإضافية لاستخدام Enum.each في سياقات مختلفة:

تحويل قيم القائمة

يمكن استخدام Enum.each لتحويل قيم القائمة إلى قيم جديدة باستخدام دالة محددة. على سبيل المثال، دعونا نقوم بضرب كل عنصر في القائمة بعدد محدد:

elixir
list = [1, 2, 3, 4] Enum.each(list, fn(x) -> IO.puts(x * 2) end)

مرشح العناصر

يُمكن استخدام Enum.each لتطبيق مرشح على العناصر في القائمة واستبعاد العناصر التي لا تلبي الشرط. على سبيل المثال، دعونا نقوم بطباعة الأعداد الزوجية فقط من القائمة:

elixir
list = [1, 2, 3, 4] Enum.each(list, fn(x) -> if rem(x, 2) == 0, do: IO.puts(x) end)

الاستنتاج

في النهاية، استخدام Enum.each في Elixir يوفر وسيلة فعالة لتطبيق العمليات على كل عنصر في القائمة. من خلال تمرير الدالة المناسبة، يمكنك تحقيق مجموعة متنوعة من الوظائف بسهولة وفعالية. تعتبر هذه الوظيفة جزءًا أساسيًا من أدوات البرمجة في Elixir وتساعد في تبسيط الشفرات وجعلها أكثر قابلية للصيانة والفهم.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر