SPIP

[ar] [bg] [ca] [cpf] [cs] [da] [de] [en] [eo] [es] [eu] [fa] [fon] [fr] [gl] [id] [it] [ja] [lb] [nl] [oc] [pl] [pt] [ro] [sv] [tr] [vi] [zh] Espace de traduction

تحميل أحدث اصدار

SPIP 1.9.2 SPIP 1.9.2

الحلقات الدورية

كانون الأول (ديسمبر) 2003 — maj : تشرين الأول (أكتوبر) 2005

كل اصدارات هذا المقال:


تشكل الحلقات الدورية (recursive loops) وظيفة قوية للغاية لإدارة تصميم الواجهة. اما برمجة هذه الحلقات فبسيطة جداً، الا ان استخدامها يتطلب تجكماً قوياً بمنطق تسلسل الحلقات.

نداء حلقة دورية بسيط جداً، ففي نوع الحلقة (TYPE) يكفي ادخال اسم حلقة اخرى:

ولا يوجد هنا اي معيار. في الحقيقة، فإن الحلقة n تشكل نسخة طبق الاصل عن الحلقة x. وتعمل اوامر الحلقة كما لو اننا قمنا بنسخ كامل الحلقة x (اي كل العلامات واوامر HTML والنصنص الشرطية قبل وبعد وبدلاً من) في المكان الذي وضعنا فيه الحلقة n (بالطبع يجب على الحلقة x ان تسبق الحلقة n).

والابسط هنا هو «مضاعفة» (duplicate) الحلقة بدلاً من نسخها. هكذا، كل تعديل يدخل على الحلقة الاصلية x ينعكس آلياً في الحلقة n.

وفي الحقيقة، تكمن الفائدة في وضع الحلقة n داخل الحلقة x مما يعطينا تصرفاً دورياً: فالحلقة x تحتوي الحلقة n التي بدورها تعيد انتاج الحلقة x التي تحتوي الحلقة n وهكذا دواليك، الى ان تتوقف الحلقة x عن اعطاء اية نتيجة.

وتتيح هذه التقنية بناء عرض خيوط المنتديات. ببساطة: تنشئ حلقة اولى مدخل الخيوط (اي المشاركات التي تعقّب مباشرة علي مقال)، وتأتي حلقة ثانية لتعرض الردود على هذه المشاركات وتؤدي حلقة دورية الى تكرار الحلقة الاخيرة:

يمكننا هكذا، وببضعة سطور عرض كامل بنية الموقع (الاقسام والاقسام الفرعية...).


عرض الصفحة النموذجية لهذه الصفحة موقع صمم بنظام SPIP | مجال الترجمة | المجال الخاص