سكالا للحلقة | لـ Loop in Scala: شرح

نشرت: 2021-02-19

في Scala ، تُعرف حلقة for-loop أيضًا باسم for-comprehensions . يمكن استخدامه لتكرار مجموعة تم التمرن عليها وتصفيتها وإعادتها. يبدو من أجل الفهم مشابهًا تمامًا للحلقة في اللغات الحتمية ؛ ومع ذلك ، فإن الاختلاف هو أنه يجمع قائمة بنتائج الجناس.

هناك عدة أشكال من حلقة for-loop في Scala ، كما هو موضح أدناه:

جدول المحتويات

لحلقة مع نطاقات

بناء الجملة

الصيغة الأكثر تعقيدًا لحلقة for-loop مع نطاقات في Scala كما هو موضح أدناه:

لـ (var x <- Range) {

صياغات)؛

}

كما هو موضح أعلاه ، يمكن أن يكون النطاق أي نطاق من الأرقام ، يتم تمثيله من i إلى j أو في بعض الأحيان مثل i حتى j . يُعرف عامل السهم الأيسر ← بالمولد لأنه يولد قيمًا فردية من نطاق.

بدلاً من ذلك ، يمكن أيضًا استخدام بناء الجملة:

لـ (w <- النطاق) {

// رمز..

}

هنا ، w عبارة عن متغير ، وعلامة السهم الأيسر ← المشغل هي المولد ، والنطاق هو القيمة التي تحمل قيم البداية والنهاية. يتم تمثيل النطاق باستخدام إما i إلى j أو i حتى j.

مثال Scala For-Loop باستخدام الكلمة الرئيسية "إلى"

يتضمن استخدام "to" مع حلقة for-loop كلاً من قيم البداية والنهاية. في المثال الموضح أدناه ، يمكننا استخدام "إلى" لطباعة القيم بين 0 و n. بمعنى آخر ، تبدأ الحلقة من 0 وتنتهي عند 10 ، مما يعني أنه يمكننا طباعة أرقام الصفحات من 0 إلى 10.

// برنامج Scala لتوضيح كيفية القيام بذلك

// إنشاء حلقة باستخدام إلى

الكائن الرئيسي

{

def main (args: Array [سلسلة])

{

println ("قيمة w هي:")؛

// هنا ، تبدأ حلقة for من 0

// وينتهي الساعة 10

لـ (w <- 0 to 10)

{

println (ث) ؛

}

}

}

انتاج:

في المثال الموضح أعلاه ، قيمة w هي:

0

1

2

3

4

5

6

7

8

9

10

قراءة: أفضل 10 مهارات لتصبح مطور مكدس كامل

مثال Scala For-Loop باستخدام الكلمة الرئيسية "حتى"

الفرق بين استخدام حتى و إلى هو ؛ لتضمين قيم البداية والنهاية المعطاة في نطاق ، بينما حتى يستبعد القيمة الأخيرة للنطاق المحدد. في مثال الحلقة الموضح أدناه ، يمكننا استخدام حتى لطباعة القيم بين 0 إلى n-1. بعبارة أخرى ، تبدأ الحلقة من 0 وتنتهي عند n-1 ، والتي تأتي بالرقم 9. لذلك ، يمكننا طباعة أرقام الصفحات من 0 إلى 9.

// برنامج Scala لتوضيح كيفية القيام بذلك

// إنشاء من أجل حلقة باستخدام حتى

الكائن الرئيسي

{

def main (args: Array [سلسلة])

{

println ("قيمة w هي:")؛

// هنا ، تبدأ حلقة for من 0

// وينتهي الساعة 10

لـ (w <- 0 حتى 10)

{

println (ث) ؛

}

}

}

انتاج:

في المثال الموضح أعلاه ، قيمة w هي:

0

1

2

3

4

5

6

7

8

9

اقرأ أيضًا: Python vs Scala

قيم متعددة في For-Loop

يمكننا أيضًا استخدام نطاقات متعددة في حلقة واحدة . يتم فصل هذه النطاقات باستخدام فاصلة منقوطة (؛). دعونا نفهم هذا بمساعدة التوضيح. في المثال الموضح أدناه ، استخدمنا نطاقين مختلفين في حلقة واحدة ، على سبيل المثال ، w <- 0 إلى 3 ؛ ض <- 8 حتى 10.

// برنامج Scala لتوضيح كيفية القيام بذلك

// إنشاء نطاقات متعددة في حلقة for

الكائن الرئيسي

{

def main (args: Array [سلسلة])

{

// حلقة مع نطاقات متعددة

لـ (w <- 0 to 3 ؛ z <- 8 حتى 10)

{

println ("قيمة w هي:" + w) ؛

println ("قيمة y هي:" + z) ؛

}

}

}

انتاج:

قيمة w هي: 0

قيمة ص هي: 8

قيمة w هي: 0

قيمة ص هي: 9

قيمة w هي: 1

قيمة ص هي: 8

قيمة w هي: 1

قيمة ص هي: 9

قيمة w هي: 2

قيمة ص هي: 8

قيمة w هي: 2

قيمة ص هي: 9

قيمة w هي: 3

قيمة ص هي: 8

قيمة w هي: 3

قيمة ص هي: 9

الخروج: راتب Full Stack Developer في الهند

For-Loop مع المجموعات

في Scala ، يمكننا استخدام حلقة for-loop لتكرار المجموعات بكفاءة مثل القائمة والتسلسل وما إلى ذلك ، إما باستخدام حلقة لكل حلقة أو حلقة for-comprehensions . بناء جملة for-loop مع المجموعات في Scala كما هو موضح أدناه:

بناء الجملة

لـ (var x <- List) {

صياغات)؛

}

هنا ، قائمة المتغيرات هي نوع مجموعة مع قائمة من العناصر وتتكرر حلقة for-loop عبر جميع العناصر التي تعيد عنصرًا واحدًا في متغير x في المرة الواحدة.

دعونا نلقي نظرة على البرنامج التجريبي الموضح أدناه لفهم حلقة مع المجموعات . في الرسم التوضيحي ، أنشأنا مجموعة باستخدام متغير List لسرد المؤلفين بناءً على رتبهم.

// برنامج Scala لتوضيح كيفية القيام بذلك

// استخدام الحلقة مع المجموعة

الكائن الرئيسي

{

def main (args: Array [سلسلة])

{

رتبة فار = 0 ؛

قائمة ترتيب val = قائمة (1 ، 2 ، 3 ، 4 ، 5 ، 6 ، 7 ، 8 ، 9 ، 10) ؛

// For حلقة مع المجموعة

لـ (الترتيب <- قائمة الرتب) {

println ("رتبة المؤلف هي:" + رتبة) ؛

}

}

}

انتاج:

رتبة المؤلف: 1

رتبة المؤلف: 2

رتبة المؤلف: 3

رتبة المؤلف: 4

رتبة المؤلف: 5

رتبة المؤلف: 6

رتبة المؤلف: 7

رتبة المؤلف: 8

رتبة المؤلف: 9

رتبة المؤلف: 10

للحلقة مع المرشحات

يسمح لك For-loop في Scala بتصفية العناصر من مجموعة معينة باستخدام واحد أو أكثر من عبارات if في for-loop . يمكن للمستخدمين أيضًا إضافة أكثر من عامل تصفية إلى تعبير "for" باستخدام الفواصل المنقوطة (؛) للفصل بينهم. المدرجة أدناه هي صيغة for-loop مع المرشحات .

بناء الجملة

لـ (var x <- List

إذا الشرط 1 ؛ إذا كان الشرط 2 ...

) {

صياغات)؛

}

دعونا نفهم هذا بشكل أفضل بمساعدة مثال. يستخدم الرسم التوضيحي أدناه مرشحين لفصل المجموعة المحددة. على سبيل المثال ، في العينة أدناه ، تزيل المرشحات قائمة المؤلفين ذوي الرتب الأعلى من 2 وأقل من 7.

// برنامج Scala لتوضيح كيفية القيام بذلك

// استخدام حلقة مع المرشحات

الكائن الرئيسي

{

def main (args: Array [سلسلة])

{

رتبة فار = 0 ؛

قائمة ترتيب val = قائمة (1 ، 2 ، 3 ، 4 ، 5 ، 6 ، 7 ، 8 ، 9 ، 10) ؛

// For حلقة مع المرشحات

لـ (رتبة <- قائمة الرتب

إذا كانت الرتبة <7 ؛ إذا كانت رتبة> 2)

{

println ("رتبة المؤلف هي:" + رتبة) ؛

}

}

}

انتاج:

رتبة المؤلف: 3

رتبة المؤلف: 4

رتبة المؤلف: 5

رتبة المؤلف: 6

للحلقة مع العائد

في Scala ، يتم تخزين قيمة إرجاع الحلقة في متغير أو قد تعود من خلال دالة. للقيام بذلك ، يجب أن تسبق جسم تعبير "for" بإنتاجية الكلمة الأساسية . المدرجة أدناه هي صيغة for-loop مع العائد .

بناء الجملة

var retVal = لـ {var x <- List

إذا الشرط 1 ؛ إذا كان الشرط 2 ...

}

العائد س

ملاحظة - تسرد الأقواس المتعرجة المتغيرات والشروط ، و retVal هو متغير حيث سيتم تخزين جميع قيم x في شكل مجموعة.

دعونا نفهم هذا بشكل أفضل بمساعدة التوضيح. في المثال الموضح أدناه ، يكون الناتج متغيرًا حيث يتم تخزين جميع قيم الترتيب في شكل مجموعة. يعرض For-loop فقط قائمة المؤلفين الذين تكون رتبتهم أكبر من 4 وأقل من 8.

// برنامج Scala لتوضيح كيفية القيام بذلك

// استخدام للحلقة مع الغلات

الكائن الرئيسي

{

def main (args: Array [سلسلة])

{

رتبة فار = 0 ؛

قائمة ترتيب val = قائمة (1 ، 2 ، 3 ، 4 ، 5 ، 6 ، 7 ، 8 ، 9 ، 10) ؛

// For حلقة مع الغلات

var الناتج = لـ {رتبة <- قائمة الرتب

إذا كانت رتبة> 4 ؛ إذا كان الترتيب! = 8}

رتبة العائد

// عرض النتيجة

لـ (الترتيب <- الإخراج)

{

println ("رتبة المؤلف هي:" + رتبة) ؛

}

}

}

انتاج:

رتبة المؤلف: 5

رتبة المؤلف: 6

رتبة المؤلف: 7

رتبة المؤلف: 9

رتبة المؤلف: 10

تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

خاتمة

إذا كنت مهتمًا بمعرفة المزيد حول تطوير البرامج كاملة المكدس ، فراجع برنامج upGrad & IIIT-B's Executive PG في تطوير البرامج الكامل المكدس المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، 9+ مشاريع ، والمهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.

ما هي لغة البرمجة سكالا؟

Scala هي لغة برمجة للأغراض العامة مصممة للتعبير عن أنماط البرمجة الشائعة بطريقة موجزة وأنيقة وآمنة من النوع. إنها لغة وظيفية هجينة وموجهة للكائنات ، وتدعم تركيبات البرمجة الوظيفية مثل وظائف الترتيب الأعلى والتقييم البطيء ، ولكنها تحتوي أيضًا على ميزات لغة موجهة للكائنات مثل الفئات ، وحرفية الكائن ، واستدلال النوع. تعد Scala واحدة من أبرز اللغات المصممة لجهاز Java Virtual Machine (JVM) ، ولكن يمكن أيضًا تجميعها في كود مصدر JavaScript أو استخدام .NET Common Language Runtime (CLR).

ما هي الحلقات في البرمجة؟

الحلقات هي عبارات برمجة تكرر مجموعة من العبارات عددًا آخر من المرات (رقم صحيح). هناك نوعان من الحلقات - for و while. الحلقة تكرر كتلة من التعليمات البرمجية حتى يتم ملء شرط معين. يمكنك استخدام حلقة لأداء نفس المهمة مرارًا وتكرارًا حتى يتم ملء المعايير المحددة. هناك عدة أنواع من الحلقات مثل - for loop و while loop و do while loop و foreach loop. كل من هذه الأنواع لها مزاياها وحالات الاستخدام الخاصة بها. على سبيل المثال ، إذا كنت تريد تنفيذ حلقة عبر مصفوفة لعدد ثابت من المرات ، فيمكنك استخدام حلقات for. إذا كنت تريد التكرار بناءً على شرط ، يمكنك استخدام حلقات while. إذا كنت ترغب في الوصول إلى عناصر مصفوفة ، يمكنك استخدام حلقات foreach.

ما هو مستقبل لغة سكالا؟

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