‫وفي هذا الفيديو ، سنلقي نظرة على بعض الواجهات المهمة جدًا التي يجب أن تفهمها
‫بمجرد أن تريد أن تصبح مطور متجر أكثر تقدمًا.
‫وهذه هي واجهة الذكاء الاصطناعي القابلة للعد وكذلك واجهة عدّاد الذكاء الاصطناعي.
‫لذلك يجب أن تفهم الواجهات قبل مشاهدة هذا الفيديو ، وإلا فإن بعض المفاهيم لن
‫تكون منطقية بالنسبة لك.
‫لذلك أوصي حقًا بالتحقق من فيديو الواجهة الذي يجب أن نقدمه أيضًا.
‫تمام.
‫لذا فإن واجهة الذكاء الاصطناعي القابلة للعد هي الواجهة الأساسية للعديد من المجموعات في لغة C حادة وتتمثل
‫مهمتها في توفير طريقة للتكرار من خلال مجموعة.
‫لهذا السبب يمكننا استخدام كل حلقة لتصفح قائمة أو قاموس لأنها موروثة
‫من الواجهة المعدودة.
‫لذا فإن الواجهة المعدودة باللغة الإنجليزية البسيطة ، عندما تنفذ فئة المجموعة
‫واجهة الذكاء الاصطناعي القابلة للعد ، تصبح قابلة للعد ويمكننا عد كل عنصر فيها على حدة.
‫لذلك هناك إصداران مختلفان من واجهة AI القابلة للعد.
‫أحدهما هو أنه يعمل مع المجموعات العامة حيث يكون لديك قوس الفتح المعدود للذكاء الاصطناعي ، وقوس الإغلاق
‫، ثم واجهة الذكاء الاصطناعي القابلة للتعداد للمجموعات غير العامة.
‫لذلك يجب أن تفهم ما هي المجموعات العامة وغير العامة أيضًا.
‫لديهم مزايا وعيوب معينة ، لكن لدي فيديو لذلك أيضًا.
‫أتمنى أن تكون قد شاهدته قبل مشاهدة هذا الفيديو لأنه بخلاف ذلك يكون معقدًا بعض الشيء.
‫تمام.
‫إذن هذان الموجودان لدينا هنا ، فلنلقِ نظرة عليهما.
‫نظرًا لأنه تم تقديم المجموعات العامة بعد المجموعات غير العامة ، فمن المستحسن استخدام
‫المجموعة العامة.
‫لذلك فهي في الأساس نسخة محسنة ، إذا جاز التعبير.
‫لذلك ، إذا كنت تقوم بإنشاء مشروع جديد ، فمن المستحسن استخدام الإصدار العام لأنني الذي يمكن
‫تعداده للمجموعات غير العامة يحتاج إلى تطبيق أو تنفيذ الملاكمة وإلغاء الصندوق ، وهو في الأساس تحويل
‫أنواع الكائنات.
‫وسنشرح لاحقًا كيفية استخدام واجهة tty القابلة للتعداد بالذكاء الاصطناعي.
‫لذا ، فإن واجهة المجموعات العامة ، لن نتطرق إلى واجهة المجموعات غير العامة لأنه
‫لا يوصى بها بسبب الملاكمة وإلغاء العبوة ، وهي أقل كفاءة.
‫لنلقِ نظرة الآن على الفرق بين عدّاد الذكاء الاصطناعي وعداد الذكاء الاصطناعي.
‫ربما سمعت ذلك من قبل.
‫لذا فإن واجهة الذكاء الاصطناعي القابلة للعدد تحتوي على طريقة واحدة يجب عليك تنفيذها عند تنفيذ
‫هذه الواجهة ، وسنفعل ذلك لاحقًا في مثالنا المحدد هنا.
‫لذلك يبدو الأمر أكثر منطقية.
‫لذا فإن طريقة الحصول على التعداد هي الطريقة التي تحتاج إلى تنفيذها وتقوم بإرجاع كائن تعداد الذكاء الاصطناعي.
‫إذاً هذه الطريقة التي تحتاج إلى تنفيذها عندما تريد استخدام الذكاء الاصطناعي المعدود لفصلك الدراسي
‫أو ما تريد تنفيذه لفصلك الدراسي ، فأنت بحاجة إلى طريقة الحصول على العداد التي تقوم بعد ذلك بإرجاع عداد الذكاء
‫الاصطناعي.
‫لذا فإن عداد الذكاء الاصطناعي.
‫يوفر القدرة على التكرار من خلال المجموعة عن طريق كشف خاصية حالية تشير إلى الكائن
‫الذي نحن فيه حاليًا في المجموعة.
‫هذا أكثر تعقيدًا مما سيكون عليه بمجرد تشغيل هذا بالفعل في مثالنا الخاص.
‫لذلك سنقوم ببناء مثال بفهم كامل لما يعنيه كل هذا.
‫لذلك هذا فقط لإعداد ما يمكن أن تتوقعه.
‫حسنًا ، فلنبدأ.
‫أخيرًا الابتعاد عن كل هذه النظرية ، دعنا في الواقع ننظر إلى الممارسة.
‫لذلك دعونا ننشئ هذا الفصل الصغير الذي يسمى الكلب.
‫وسأضعها في نفس الملف لتبسيط الأمور.
‫لذلك لدينا هذه الفئة التي تسمى الكلب باسم ولدينا هذا المنطقي الذي يسمى Naughty Dog.
‫لذلك سوف نتحقق بشكل أساسي مما إذا كان الكلب شقيًا أم لا.
‫وبناءً على ذلك ، سوف نقدم له المكافآت.
‫لذلك إذا لم يكن كلبًا شقيًا ، فسوف يحصل على مكافآت أقل مما لو كان فتىًا جيدًا أو كلبًا جيدًا.
‫إذن ، يحدد المنشئ هنا هاتين القيمتين فقط.
‫لذلك عندما نصنع كائنًا للكلب ، سنمنحه اسمًا وقيمة منطقية ، سواء كان الكلب
‫شقيًا أم لا.
‫وبعد ذلك ، لدينا طريقة علاج الهدية هذه وستقوم بشكل أساسي بطباعة الكلب قال اللحمة.
‫لذلك سيقول Woof لكل علاج يعطى للكلب.
‫لذلك ، إذا كان كلبًا جيدًا ، فستحصل على نوعين من المكافآت وسيتحرك مرتين.
‫وإذا كان كلبًا سيئًا أو كلبًا شقيًا ، فسوف يتحرك مرة واحدة فقط لأنه سيحصل على كمية أقل من المكافآت.
‫تمام.
‫الآن لدينا مرسى الفصل هذا ويمكننا الآن المضي قدمًا وإنشاء كائنات للكلاب.
‫لذلك دعونا نحصل على هذه الفئة الأخرى.
‫لنفترض أن لدينا فئة أخرى ستستخدم الكلاب داخل القائمة.
‫لذلك لدينا فصل مأوى للكلاب.
‫لذلك سيكون لفصل مأوى الكلاب هذا قائمة بالكلاب.
‫لذلك نحتاج إلى التأكد من أن لدينا هذا باستخدام مجموعات النظام العامة لأن القائمة
‫هي مجموعة عامة.
‫لذلك هنا في الجزء العلوي سترى أنه لديك الآن هذا باستخدام مجموعات النظام العامة.
‫تمام.
‫والآن بعد أن أصبح لدينا مأوى للكلاب ولدينا قائمة الكلاب هذه في مُنشئ مأوى الكلاب هذا
‫، فإن الشيء الوحيد الذي سنفعله هو تهيئة قائمة هذا الكلب بمجموعة من الكلاب.
‫لذلك لدينا كلب كاسبر أو كلب يسمى كاسبر.
‫إنه ليس كلبًا عجوزًا ، ولكن إذا كان كلبًا شقيًا ، فإن Oreo ليس شقيًا و Pixel ليس شقيًا أيضًا.
‫لذلك لا تسألني كيف توصلنا إلى هذه الأسماء ، ولكن هذا هو الأساس الذي نطلق عليه هذه الكلاب.
‫يمكنك بالطبع جعل هذا التطبيق بأكمله أكثر تعقيدًا ، لكن فكرتنا هي فقط استخدام قائمة
‫الكلاب هذه للتكرار عبر مأوى الكلاب ، للذهاب عبر ملجأ الكلاب ، بشكل أساسي.
‫واستنادًا إلى ما إذا كان الكلب جيدًا أم لا أو كلبًا شقيًا أم لا ، سنقدم له علاجًا واحدًا أو اثنين
‫من المكافآت.
‫لننتقل الآن إلى طريقتنا الرئيسية ، لأنها نقطة البداية لتطبيقنا.
‫وفي هذه المرحلة ، دعنا نمضي قدمًا وننشئ مأوى للكلاب هنا.
‫حسنا.
‫لذلك لدينا مأوى للكلاب يسمى مأوى ، وسيكون ملجأ جديد للكلاب.
‫لذلك قمنا بتهيئته على الفور أيضًا حتى نتمكن من استخدام كائن المأوى هذا لأن كائن المأوى
‫سيحتوي على قائمة بالكلاب.
‫الصحيح.
‫إذن ما نريد فعله الآن هو أننا نريد تكرار القائمة والتحقق مما إذا كنا نريد منحهم مكافآت
‫أم لا.
‫لذلك دعونا ننشئ علامة تبويب مزدوجة لكل منها هنا مثل علامة التبويب المزدوجة حتى نجهزها لنا.
‫إذن ما الذي سنمر به؟
‫حسنًا ، نحن نمر بكلب.
‫وسنقوم باستدعاء كلب.
‫لذا فإن كل عنصر داخل القائمة سيكون كلبًا.
‫ثم المجموعة التي نرغب في الاطلاع عليها هي ، في الواقع ، ستكون المأوى.
‫يحب.
‫حتى الآن لدينا مشكلة صغيرة.
‫بمجرد أن نحوم فوقها ، نقول إننا نرى هنا اسم المجموعة أو المصفوفة المراد
‫تكرارها هو الملجأ ، لكن كل عبارة لا يمكن أن تعمل على متغيرات من نوع مأوى الكلاب
‫لأن مأوى الكلاب لا يحتوي على مثيل عام أو تعريف ملحق لـ احصل على العداد.
‫حسنًا ، لدينا هذا للحصول على العداد.
‫فماذا يعني ذلك؟
‫حسنًا ، هذا يعني أننا بحاجة إلى تنفيذ الواجهة التي أعددتها هنا لمأوى الكلاب لدينا لأن مأوى الكلاب هذا يحتوي
‫على قائمة نريد تكرارها.
‫حق؟
‫لأنه إذا نظرت إليه ، ملجأ ، حسنًا ، مأوى الكلاب لدينا ، هذا هو الملجأ الذي نريد أن نكرره.
‫ولكي نجعلها قابلة للتكرار ، نحتاج إلى تطبيق الذكاء الاصطناعي المعدود هنا.
‫وما نوع الأشياء التي نريد تعدادها؟
‫حسنًا ، في حالتنا ، ستكون الكلاب.
‫لذلك نريد أن نكون قادرين على المرور بالكلاب داخل مأوى الكلاب لأنه ، حسنًا ، لدينا
‫قائمة الكلاب هذه وقد تمت تهيئتها هنا في مُنشئ مأوى الكلاب.
‫ونريد أن نتأكد من أنه يمكننا فقط استعراضها جميعًا والقيام بشيء ما مع الكلاب ، مثل
‫الحيوانات الأليفة أو في حالتنا ، تقديم علاج لهم.
‫لذلك بمجرد تنفيذ هذا وبدء الصعود إلى هنا ، يختفي الخطأ.
‫فجأة أصبح الأمر على ما يرام لأن ملجأنا ، وهو مأوى للكلاب ، يتبع الآن التعليمات التي
‫تم إعطاؤها لنا للتو بأنه يحتاج إلى تنفيذه.
‫أنا أحصي هنا.
‫إذن هذا هو العام الذي أعددته لأن لدينا هذا المستند هنا.
‫حق؟
‫لأنه ليس هذا.
‫إنه من النوع الذي نعطيه إياه.
‫ولكن الآن ، بمجرد أن نحوم فوقها ، نرى أننا حصلنا على خطأ آخر.
‫تقول مأوى doc لا ينفذ عضو الواجهة.
‫أحصل على مستند معدود بالعداد وأحصل على العداد القابل للعداد حتى نتمكن من وضعها هناك يدويًا.
‫لكن الجميل في استخدام المعرّف هو أن المعرّف يمكن أن يقوم بالكثير من العمل بالنسبة لنا ، لذا يمكنك
‫النقر فوق إظهار الإصلاحات المحتملة ثم النقر فوق تنفيذ جميع الأعضاء بشكل صريح ثم إضافة مساحة اسم
‫المجموعات لنا وسيستغرق الأمر تهتم بإضافة هاتين الطريقتين لنا أو لهذين العضوين.
‫لذلك بمجرد النقر فوق هذا ، سترى أن هذا الخطأ سيختفي.
‫وإذا قمنا بالتمرير لأسفل ، فستجد أننا الآن نعيد عداد من النوع doc ومجموعة
‫العداد غير العامة.
‫حتى الآن لم ننفذها.
‫لهذا السبب لدينا هذا الاستثناء الجديد الذي لم يتم تنفيذه س هنا.
‫لذلك نحن بحاجة لتغيير ذلك هنا.
‫يمكننا الآن تنفيذ ما يجب أن يحدث مع طريقة get enumerator الخاصة بنا بمجرد استدعائها.
‫لذا من أجل إصلاحه ، ما سنقوله هنا هو العودة فقط.
‫الكلاب لدينا قائمة كلاب تحصل على العداد مثل ذلك.
‫وسيكون هذا هو التنفيذ لأن ملجأ الكلاب لدينا يقوم الآن بتنفيذ الواجهة المعدودة.
‫والقائمتنا هنا هي ، في الواقع ، أ ، إذا قمت بالمرور فوقها ، فإن القائمة هي قائمة عامة.
‫والآن يمكننا أخذ كلاب القائمة هذه ويمكننا الحصول على العداد لكل تكرار فردي لدينا
‫لكل مجموعة.
‫لذلك في الأساس ستعيد الكلاب الفردية.
‫والآن يمكننا استخدام الكلب في كل حلقة هنا.
‫هذا يعني في الأساس أنه يمكننا الآن المضي قدمًا والتحقق مما إذا كان الكلب ليس شقيًا.
‫لذلك ليس الكلب هو المشاغب.
‫إذا كان الأمر كذلك ، فهذا يعني في الأساس أنه إذا لم يكن الكلب شقيًا ، فسنطلق على الطريقة
‫، ونقدم له العلاج ، وسنقدم له مكافأتان.
‫وبخلاف ذلك ، إذا كان شقيًا ، لأننا لا نستطيع تقديم المكافآت ، فنحن نحب الكلاب كثيرًا.
‫سنقوم فقط بإعطائهم معاملة واحدة على هذا النحو.
‫وفي هذه المرحلة ، يمكننا تشغيل تطبيقنا.
‫وسوف نرى.
‫قال كاسبر وولف مرتين ، لأنه كلب جيد ، الشم هو كلب شقي ، لذا فهو يحصل على علاج واحد
‫فقط ويقول ، لحمة ، بمجرد أن يقوم Oreo بذلك مرتين وتتحرك البكسل مرتين أيضًا.
‫حسنا.
‫وهذا هو الأساس الذي يمكنك من خلاله أن تجعل فصلك يتبع التعليمات أو ينفذ ذكاءً اصطناعيًا معدودًا
‫بحيث يمكنك المرور عبر قائمة باستخدام حلقة لكل حلقة ، على سبيل المثال ، كما لدينا هنا.
‫الآن ، قد تتساءل ، لماذا لا نطبق عداد البوابة باستخدام عدّاد الذكاء الاصطناعي
‫، وهو غير عام؟
‫حسنًا ، هذا لأننا لا نستخدم مثالًا غير عام ومأوى الكلاب الخاص بنا ليس
‫عامًا أيضًا ، ولكن فقط تحتاج إلى تنفيذه عند استخدام واجهة AI القابلة للعدد لأنه بخلاف ذلك
‫إذا تخلصت منه ، فسنحصل تحذير هنا مرة أخرى.
‫ترى هنا ، نحن في الواقع مخطئون ، لذا نحتاج إلى التأكد من أن لدينا هذه الطريقة هناك
‫أيضًا.
‫حسنا.
‫هذا كل شيء لهذا الفيديو.
‫وفي الفيديو التالي ، سنلقي نظرة على مثال آخر حيث سنستفيد من العين ، أكثر
‫من ذلك بكثير.
‫لذلك كان هذا مجرد مقدمة صغيرة.
‫أعلم أن هذا الموضوع معقد ومعقد نوعًا ما ، لكننا سنستفيد منه أكثر قليلاً.
‫والآن ، بالمناسبة ، موجز سريع ، مجرد ملخص هنا.
‫متى يوصى باستخدام واجهة AI القابلة للعدد؟
‫حسنًا ، يجب أن تستخدمها عندما تمثل مجموعتك جدول قاعدة بيانات ضخمًا.
‫لذلك لا تريد نسخ كل شيء في الذاكرة والتسبب في مشاكل في الأداء في التطبيق الخاص بك لأن قاعدة البيانات
‫قد تكون ضخمة ، أليس كذلك؟
‫يمكن أن تحتوي على الملايين والملايين من الإدخالات.
‫ولا تريد أن تضطر إلى تحميل كل شيء للتكرار من خلاله ، لكنك تريد
‫فقط تحميل بقدر ما تحتاجه للعملية الحالية ، كل ما تريد تنفيذه.
‫ثم متى يجب ألا تستخدم واجهة الذكاء الاصطناعي المعدودة؟
‫حسنًا ، عندما تحتاج إلى النتائج فورًا وربما تقوم بالتحول ، قم بتحرير الكائنات لاحقًا.
‫في هذه الحالة ، من الأفضل استخدام مصفوفة أو قائمة.
‫لذلك عندما تريد أن تكون قادرًا على تغيير العناصر أو تحريرها لاحقًا ولا تحتاج إلى النتيجة على الفور
‫، استخدم مصفوفة أو قائمة.
‫خلاف ذلك ، استخدم الذكاء الاصطناعي المحدود لأنه سيكون أكثر كفاءة.
‫حسنا.
‫هذا كل شيء لهذا الفيديو.
‫نراكم في القادم.