‫حسنا ، مرحبا بعودتك.
‫في هذا الفيديو ، سنصلح الخطأ الذي كان لدينا وسنرى كيف يمكننا اكتشافه.
‫لذلك في هذا المثال ، إنه مثال أساسي للغاية.
‫ونحن نعلم حقًا أن لدينا هذه الطريقة التي تعمل بشكل صحيح.
‫لذلك هذا هو الذي يكتشف ما إذا كان الصديق صديقًا للحفلة أم لا.
‫وهذا شيء بشكل عام سيساعدك على تصحيح الأخطاء لأنه إذا كنت تعرف ما ستفعله
‫طريقة معينة ، فيمكنك إنشاء نقطة توقف عند هذه النقطة.
‫حسنا.
‫لذلك إذا كنت تعمل في برنامج لم تستخدمه من قبل أو لم تشاهده من قبل ، فأنت بالطبع
‫بحاجة ، أولاً وقبل كل شيء ، إلى النظر فيه وفهم ما تفعله جميع الأساليب.
‫ولهذا السبب ، بالطبع ، سيكون من المفيد الحصول على ملخص لما يحدث هنا.
‫حسنا.
‫لذا اشرح.
‫تمام.
‫ماذا تفعل القائمة؟
‫ما هو ملخص هذه الطريقة؟
‫لذلك يمكنك فقط استخدام الخطوات الثلاثية هنا وبعد ذلك يمكنك إضافة ملخص صغير.
‫لذلك هذا هو المنطق لمعرفة من هو صديق الحفلة أو من سيكون صديق الحفلة أو شيء من هذا القبيل.
‫ليست اللغة الإنجليزية مثالية هنا ، لكنني أعتقد أنك تفهم ما هي الفكرة.
‫لذا بمجرد القيام بذلك ، ستعرف ، حسنًا.
‫حسنًا ، هذا هو المنطق.
‫وبرنامجنا يعمل من تلقاء نفسه ، أليس كذلك؟
‫لذلك فهو يعمل على النحو المنشود إلى حد ما ، باستثناء ، بالطبع ، أنه يظهر لنا ، الأصدقاء ، لدينا اسم
‫طويل وليس الأسماء المختصرة.
‫لذلك على الأرجح تكمن المشكلة في المنطق الذي نختار به شيئًا ما.
‫حتى هنا يمكننا أن نرى بالفعل.
‫حسنًا ، على الأرجح.
‫هذه هي الطريقة التي نواجه فيها المشكلة حتى نتمكن من التخلص من نقطة التوقف هذه وهذه أيضًا.
‫وبعد ذلك يمكننا إلقاء نظرة على طريقتنا هنا.
‫لذلك دعونا فقط نضيف نقطة توقف و / أو نحصل على طريقة صديق الحفلة ومن ثم يمكننا النظر فيها.
‫لذلك دعونا نبدأ بها.
‫وما هو المهم بالطبع القيم ، أليس كذلك؟
‫لذلك نريد معرفة القيم.
‫وفي هذه الحالة ، نحن مهتمون بالاسم الأقصر وربما أيضًا الطول هنا لأن هذا هو المنطق ، أليس
‫كذلك؟
‫إذن ما سنفعله هو أن ننتقل إلى الخطوة التالية.
‫ويمكننا أن نرى ، حسنًا ، القائمة تتكون من سبع قيم ، لذلك لا بأس.
‫لذلك يبدو أن هذا يعمل.
‫لدينا جميع أصدقائنا هناك.
‫حتى هذه النقطة يبدو أن كل شيء على ما يرام.
‫ثم ننتقل إلى الخطوة التالية.
‫لذلك لدينا عيننا ، وهي عيننا.
‫عداد وهو عند الصفر.
‫حسنًا ، هذا OC.
‫وعدد الخصم هو سبعة ، لذا يمكننا الانتقال إلى الخطوة التالية.
‫الآن لدينا مقارنة هنا.
‫إذا كانت القائمة الأولى ، فأطول أقصر طول أكبر.
‫وهناك يمكننا أن نرى أقصر اسم هو فرانك.
‫هذا هو ما بدأنا به.
‫حق؟
‫إذن القائمة تبدأ بفرانك.
‫إذن في القائمة الأولى ، التي تساوي صفرًا ، سيكون لدينا فرانك.
‫لذلك هذا جيد.
‫الآن دعنا ننتقل إلى الخطوة التالية كما تبدو ، هذا الشرط في عبارة if لم يكن صحيحًا.
‫حسنا.
‫إذن يمكننا الانتقال إلى التكرار التالي أو الخطوة التالية والمقارنة مرة أخرى.
‫الآن يمكننا أن نرى أن القائمة لا تزال سبعة أشخاص.
‫ثم حصلنا على طول سلسلة يتم إرجاعها بثلاثة والآخر خمسة.
‫إذن ما الذي يحدث هنا؟
‫نحن ننظر إلى Joe و Joe الذي يجب أن يكون التالي في القائمة لأنه يحمل اسمًا أقصر من
‫Frank.
‫وهذا شيء نعرفه لأننا كتبنا البرنامج.
‫لكن لسبب ما ، بالتأكيد ، هذا الاسم لا يزال فرانك.
‫لذلك يمكننا في هذه المرحلة أن ندركهم.
‫حسنا.
‫لذلك من المحتمل أن يكون لدينا خطأ هنا.
‫لذا فنحن نقارن بين أكبر على الرغم من أنه يجب أن يكون أقل من الكل صحيح أو أصغر من.
‫والآن إذا تخلصنا من نقطة التوقف وقمنا بتشغيل برنامجنا مرة أخرى ، فسنرى.
‫حسنًا ، نحصل على أقصر الأسماء ، جو ودي ، وفرانك وماريا.
‫حسنًا ، هذا رائع.
‫لذا فقد عاد برنامجنا الآن مجانًا.
‫حسنًا ، بالطبع ، ليس لأننا ما زلنا نواجه الكثير من المشاكل هنا.
‫أحدهم هو أن لدينا هذه القائمة مع فرانك وجو وميشيل وما إلى ذلك.
‫حسنا.
‫لذلك أنشأنا القائمة يدويًا حتى نعرف ما بداخلها.
‫ولكن الآن دعنا نقول أن ما نحاول القيام به هو أننا نحاول دعوة عشرة أشخاص ، لكن ابنتنا أعطتنا للتو قائمة
‫بسبعة أشخاص.
‫لذلك دعونا نشغل هذا الرمز.
‫و.
‫لدينا استثناء.
‫في احسن الاحوال.
‫هذا هو الشيء العظيم في الاستثناءات.
‫أنت تعلم أن هناك شيئًا خاطئًا في شفرتك ويمكنك إصلاحه لأنه في بعض الأحيان ، كما رأينا
‫للتو ، إذا كنت لا ترى الأخطاء ، فمن الصعب جدًا إصلاحها.
‫وهنا نقاش خارج النطاق لمؤشر الاستثناء كان خارج النطاق يجب أن يكون غير سالب وأقل
‫من حجم المجموعة.
‫حتى تتمكن من عرض التفاصيل حول هذا.
‫يمكنك معرفة المزيد عن هذا الاستثناء وسيخبرك بكل ما تحتاج إلى معرفته.
‫الصحيح.
‫لذلك الكثير من المعلومات.
‫في معظم الأحيان يكون ذلك كثيرًا.
‫لكن ما يقوله هذا هو أننا نحاول الوصول إلى عنصر في القائمة خارج نطاقنا.
‫إذن ماذا يمكن أن يكون؟
‫حسنًا ، قد تكون القائمة التي نحاول الوصول إليها حتى نتمكن من الانتقال هنا.
‫ويمكننا أن نرى أن لدينا استثناء.
‫لدينا قائمة ، عد صفرًا.
‫ماذا يحصل؟
‫لماذا القائمة صفر؟
‫لأننا رأينا قبل أن القائمة كانت سبعة.
‫الصحيح.
‫إذن لماذا القائمة صفر فجأة؟
‫لأننا لا نفعل ذلك أبدًا.
‫نظرنا إلى القائمة وحذفنا القائمة.
‫الصحيح.
‫نحن سوف.
‫ما فعلناه هو أننا أزلنا عنصرًا من القائمة.
‫لذلك قلنا القائمة التي تم إزالتها.
‫وهذا خطأ مبتدئ ، إذا جاز التعبير ، لأنه كما أخبرتك سابقًا ، نحن نمرر بالمرجع.
‫نحن لا نتجاوز القيمة.
‫الفرق هو التالي عندما نقول.
‫أننا نريد الحصول على قائمة هنا.
‫وبمجرد أن يتم استدعاء هذه الطريقة ، وهذا هو الحال هنا ، لذلك يتم استدعاء أصدقاء الحفلة هنا ونقوم بتمرير
‫قائمة تسمى الأصدقاء.
‫لذلك نقوم بتمرير هذه القائمة هنا ، وهذا لا يعني أننا نمرر القيم التي لا نقوم بتمريرها
‫بالفعل إلى تلك القيم ، مما يعني أن كل هذه القيم موجودة في مكان ما في ذاكرتنا.
‫لذا فهم في ذاكرة جهاز الكمبيوتر الخاص بنا.
‫الصحيح.
‫ونحن نشير إلى تلك القيم.
‫لذلك نقول ، حسنًا ، أود أن أذهب إلى هذه الذكرى حيث لديك جميع أصدقائك.
‫لذا أود أن أذهب إلى فرانك ، أود أن أذهب إلى جو وما إلى ذلك.
‫لذلك بمجرد أن نعمل مع هذه القائمة ، على سبيل المثال ، نزيل عنصرًا من تلك القائمة.
‫نحن لا ننشئ نسخة بالقيم ، ثم ننتقل ونزيل العناصر من القائمة.
‫لكننا في الواقع نحذف في هذه الذاكرة.
‫لذلك نحن نحذف Frank من القائمة ، ونحذف Joe من القائمة.
‫لذلك يمكنك أن ترى بسهولة إذا كنت تستخدم هذا لكل حلقة للتحقق من أصدقائك.
‫حسنًا ، سأقوم بتخفيضه مرة أخرى حتى نتمكن من رؤية شيء ما بالفعل.
‫لذلك أنا أمر بهذا لكل حلقة.
‫وكما ترى ، يتم عرض أنجلينا فقط.
‫لماذا أنجلينا فقط؟
‫لأن أنجلينا تحتل المرتبة السابعة في القائمة ، وقمت بإزالة ستة أشخاص من القائمة.
‫لنفعل ذلك مرة أخرى مع أربعة أشخاص.
‫فقط لكي ترى أن ماريا وكارلوس وأنجلينا لا يزالون هناك.
‫لذا ترون ، في الواقع ، إنها ميشيل.
‫حسنا.
‫حتى أفضل الآن لدينا وضع غريب للغاية حيث ميشيل وكارلوس وأنجلينا لا يزالون
‫في القائمة.
‫لذلك نقوم باستمرار بإزالة شخص ما من القائمة وهذا يخلق مجموعة
‫من المشاكل لأنه إذا كان هناك شخص آخر أو إذا استخدمنا قائمة الأصدقاء هذه في مكان آخر ، فستكون فارغة وستتلف.
‫لن تحتوي على القيم الأولية هناك ، وهذا شيء يجب ألا نفعله.
‫لذا ما يمكننا القيام به هو أنه يمكننا إنشاء منطقة عازلة هنا.
‫لذلك سأقوم بإنشاء متغير جديد يسمى المخزن المؤقت ، وستكون هذه قائمة جديدة من السلاسل.
‫وستكون قائمتي ، لذا سأقوم بتمرير القائمة التي تم تمريرها إلي في هذه المرحلة.
‫حسنا.
‫وسأقوم بتخزينه في المخزن المؤقت.
‫لذلك ستكون قائمة جديدة.
‫والآن ما يمكننا رؤيته هو أنه يتعين علينا بالطبع إزالته من المخزن المؤقت.
‫لذلك سنزيل من هذه النسخة من القائمة.
‫لن نحذف من القائمة نفسها.
‫حسنا.
‫هذا هو التمايز المهم الذي يتعين علينا القيام به.
‫نحن نزيل من النسخة الآن.
‫الآن ، بالطبع ، علينا أيضًا استخدام المخزن المؤقت هنا للحصول على واجهة الحزب.
‫حسنا.
‫لأنه بخلاف ذلك لن نصدر أي شيء من القائمة.
‫سيكون ذلك دائمًا سبعة أشخاص.
‫لذلك حتى في قائمة المخزن المؤقت هذه ، سيكون دائمًا سبعة أشخاص وبعد ذلك لن يعمل بشكل صحيح.
‫حسنا.
‫حتى نكون فرانك ، جو ، ميشيل ، كل شيء لا يزال في القائمة.
‫تمام.
‫لذا فإن كل حلقة تعمل بشكل جيد.
‫وبالمقارنة ، ما يمكننا القيام به هو أنه يمكننا عمل حلقة أخرى من أجل حلقة أخرى والتحقق منها مع أصدقاء الحفلة
‫فقط لمعرفة ما إذا كان لدينا الآن فقط سبعة أو ثلاثة أصدقاء.
‫لذلك يمكنك أن ترى أنه في الواقع أصدقاء من الطرف الرابع.
‫لذلك كلهم هناك وما زال جو وفرانك وماريا هناك أيضًا.
‫لذلك لم نحذف قائمة الأصدقاء ، بل قمنا بحذف العناصر من قائمة المخزن المؤقت.
‫والآن ، بالطبع ، لم نعد بحاجة إلى هذا بعد الآن.
‫لذلك كان هذا فقط لأغراض الاختبار والتصحيح.
‫لكن الآن لدينا برنامج يعمل بشكل جيد.
‫الآن يمكنك القول ، حسنًا ، ليس لدينا أية أخطاء بعد الآن.
‫حسنًا ، لكننا ما زلنا لم نصلح هذا الخطأ الوحيد الذي كان لدينا من قبل ، حيث إذا دخلنا عشرة هنا.
‫نحن سوف.
‫هل لديك خطأ أم خطأ؟
‫في الواقع ، وسيطة خارج نطاق الاستثناء.
‫إذن ماذا يمكننا أن نفعل هنا؟
‫لأننا نحاول الوصول إلى عنصر غير موجود.
‫لذلك نحن نحاول الوصول إلى عنصر القائمة على الرغم من أن قائمتنا فارغة.
‫لذا فإن عدد القوائم هو صفر.
‫وهذا شيء سنصلحه في الفيديو التالي لأنه مرة أخرى ، هذا الفيديو مدته أكثر من 10 دقائق ولذا
‫لا أريد إنشاء مقاطع فيديو طويلة جدًا.
‫سأوضح لكم كيفية إصلاح هذا في الفيديو التالي لأن لدينا الكثير من المشاكل الناتجة
‫عن ذلك.
‫حسنا.
‫لذلك دعونا نصلحها في الفيديو التالي.
‫اراك هناك.