- المشاركات
- 2,079
- مستوى التفاعل
- 6,746
List Operations
عمليات القائمة
اليوم سنتعلم بعض الوظائف التي تختص في بناء القوائم وأول هذه الوظائف هي الدالة cons، تقوم هذه الوظيفة بمهمة بناء القوائم. أي تأخذ العناصر وتضعها في قائمة جديدة. في المثال نرى أن الدالة cons قامت بضم الحرف a مع القائمة b c d وكانت نتيجة ذلك هي قائمة تحتوي على أربعة أحرف معا. نلاحظ أيضا وجود الإقتباس الأحادي ومهمته جعل العنصر يقيم ذاته ويرجع كما هو لذلك ستقوم الدالة cons ببناء قائمة جديدة ومنها سوف يقوم الأقتباس الاحادي بإرجاع القيم هي في قائمة موحدة.عمليات القائمة
مهمة الوظيفة car هي طباعة أول عنصر من القائمة، أما cdr فهي تطبع كل العناصر ما عدا العنصر الأول. الدالة list تقوم بوضع العناصر في قائمة. لو تلاحظون في الأمثلة أننا قمنا ببناء قوائم أما في list أضفنا أحرف من دون قوسين لأن ذلك سيكون مهمة list في إدراجهم داخل الأقواس.
مثال:
مثال أخر :
في هذا المثال كما أشرنا سابقا وقلنا أن التنفيذ سيكون للقوائم الداخلية والتي تليها إلى أن يصل إلى الوظيفة print. عند تنفيذ cdr الداخلية حيث قلنا أن الوظيفة cdr تطبع العناصر كلها بإستثناء العنصر الأول، إذا ستكون العناصر كالتالي: b c d ومن ثم تنتقل العناصر إلى cdr الثانية وتصبح c d وبعد ذلك إلى الدالة car والتي بدورها ستختار أول عنصر وهو c وبذلك سيكون الناتج الحرف c.
هذه مهمتها طباعة العنصر حسب ترتيبه في القائمة. مثال