‫أهلا ومرحبا.
‫في هذه المحاضرة ، سننظر في كيفية إرجاع القيم من وظائفنا باستخدام
‫أنواع إرجاع مختلفة وبيان إرجاع.
‫دعونا نتعمق ونرى كيف يعمل هذا.
‫في المحاضرة الأخيرة ، قلنا أنه إذا لم تُرجع الدالة قيمة ، فيجب أن يكون نوع الإرجاع باطلاً
‫، وهو ما فعلناه هنا.
‫ولكن ماذا لو أردنا أن نأخذ وظيفة مثل التحقق بشكل أساسي مما إذا كان ينبغي علينا إعادة تشغيل هذه الوظيفة هنا في
‫عبارة if ، إذا كان بإمكاننا القول أنه يجب الاستدارة بدلاً من ذلك ، فستكون وظيفة
‫أكثر نظافة في نهاية اليوم.
‫فكيف لنا أن نفعل ذلك؟
‫كيف نحقق وظيفة يمكنها إرجاع تعبير منطقي؟
‫حسنًا ، الطريقة التي نقوم بها هي ببساطة باستخدام نوع بدلاً من الفراغ.
‫لذلك إذا أردنا إرجاع تعبير منطقي لأن اكتب bool كما نرغب في المتغير.
‫لكن الشيء الذي يميز الدالة عن المتغير هو حقيقة أننا نضع الأقواس بعدها
‫مما يجعلها دالة وليست متغيرًا.
‫وما يمكننا فعله هو تسميته يجب أن تعود المنصة ثم نضع الأقواس.
‫وفي هذه الحالة ، ليس لدي أي شيء أريد تمريره كوسيطة لهذه الوظيفة ، لذا يمكنني ترك قائمة المعلمات
‫فارغة ، ووضع فاصلة منقوطة في نهاية السطر ثم نسخ هذا السطر بالكامل والانتقال
‫إلى المنصة المتحركة.
‫CP وفي نهاية الملف ، يمكنك وضعه في أي مكان تريده بين أي من الوظائف.
‫فقط تأكد من أنها ليست داخل دالة.
‫سأقوم بلصقه هنا.
‫سأقوم بوضع مسافة بادئة لها وسأضيف الفصل و.
‫يعمل قرار النطاق.
‫لذلك يجب أن تعود النقطتان المنقوطة للمنصة المتحركة إلى النظام الأساسي ، ثم أزل الفاصلة المنقوطة ، وأضف بعض الأقواس بدلاً
‫من ذلك.
‫وما نريد القيام به هنا هو إذا أردنا أن تُرجع نتيجة فعلية ، فنحن بحاجة إلى استخدام
‫إرجاع كلمة رئيسية خاصة ، متبوعًا بتعبير من النوع الصحيح.
‫لذلك في هذه الحالة يجب أن يكون تعبيرًا منطقيًا حتى أتمكن من إرجاع صحيح ثم أضع فاصلة منقوطة
‫في النهاية ، أو يمكنني إرجاع خطأ ثم وضع فاصلة منقوطة في النهاية.
‫لكن لا يجب أن يكون الأمر بهذه البساطة.
‫يمكن أن يكون في الواقع أي تعبير.
‫يمكن أن يكون استدعاء آخر لدالة ، يمكن أن يكون متغيرًا ، يمكن أن يكون استخدامًا
‫لبعض العوامل كما هو موضح هنا في بياننا.
‫لذا ، في الواقع ، دعنا نمضي قدمًا ونحاول القيام بذلك.
‫سآخذ هذا التعبير.
‫المسافة المقطوعة وهي أكبر من مسافة الحركة.
‫سأقوم بقصها وسأضعها كتعبير إرجاع لهذا يجب أن تعود وظيفة النظام الأساسي.
‫ستلاحظ أنه سيشتكي هنا لأن حركة المسافة ليست متغيرًا محليًا ضمن وظيفة
‫إرجاع النظام الأساسي.
‫لذا سيتعين علينا نقل المزيد من الأشياء.
‫لكن قبل أن نفعل ذلك ، لا أريد أن أنسى إجراء استدعاء لهذا يجب أن تعود المنصة في عبارة if
‫، لذا يجب أن تعود المنصة ثم تذكر وضع الأقواس حتى يتم استدعاء الوظيفة بالفعل
‫داخل عبارة F الخاصة بنا.
‫حتى الآن بدأت القراءة أفضل قليلا بالنسبة لي.
‫إذا كان يجب أن تعود المنصة ، فسنقوم بكل ما يلي.
‫والآن ما علينا فعله هو إحضار متغير المسافة المتحرك الذي لدينا في منصة MOVE.
‫لا نحتاجها في الواقع داخل منصة MOVE.
‫سأقطعها وأحضرها وأضعها على المحك قبل أن أعود بالبيان.
‫عادةً ما تكون عبارة الإرجاع هي آخر شيء في الدالة لأنه بمجرد عودتك من دالة ، فأنت في الواقع
‫لا تفعل أي شيء آخر.
‫إذا كنت سأضع شيئًا مثل رسالة السجل ، فسأضع سجلك بعد بيان الإرجاع الخاص بي مع نوع
‫من الرسالة.
‫عادة ما سيحدث هو أنك ستتلقى تحذيرًا من المترجم يقول بأن هذا الخط لن يتم الوصول
‫إليه أبدًا وأنك ربما لم تقصد القيام بذلك.
‫إذن ، عادة ما تكون عبارة الإرجاع هي آخر شيء.
‫لذا بعد أن تحركت عبر الخط الذي يحدد المسافة التي تم نقلها في حالة عودة وظيفة النظام الأساسي ، يمكنك
‫أن ترى أنها تقول الآن ، مهلا ، ليس لدي موقع حالي وكذلك الموقع الحالي الذي يمكننا
‫الحصول عليه بسهولة ، لقد حددنا يجب أن يعود الموقع الحالي قبل الاتصال مباشرة.
‫لذا فإن الحصول على موقع نشط هو بالضبط ما نريده.
‫لذلك سأقوم فقط بوضع ذلك بدلاً من المتغير ، سأقوم فقط بإجراء مكالمة للحصول على موقع
‫نشط في المكان ويجب أن تعود المنصة.
‫إذن ما حصلنا عليه الآن هو أن المسافة التي تم نقلها تساوي المسافة بين موقع البداية
‫والموقع الحالي النشط.
‫لذا إذا كان هذا أكبر من مسافة التحرك التي تم تكوينها ، فعندئذ نعم ، يجب أن تعود المنصة.
‫هذا ما تقوله هذه الوظيفة ويسمح لنا باستخدامه على مستوى أعلى من التجريد من داخل
‫وظيفة منصة MOVE الخاصة بنا.
‫ستلاحظ الآن أنه يشكو الآن من أنه لا يمكننا تحريك المسافة لطباعة التجاوز.
‫حسنًا ، هذه ليست مشكلة كبيرة.
‫لا أريد في الواقع طباعة ذلك بعد الآن.
‫إنه نوع من العبث في وظيفتي على أي حال.
‫لذا سأقوم بحذف خط متغير التجاوز.
‫سأقوم بحذف سطر الحصول على الاسم ، وسأقوم بحذف رسالة السجل لأنها كانت موجودة
‫مؤقتًا فقط ، ومن هنا جاء اسم السجل المؤقت.
‫حتى الآن بدأت وظيفة منصة النقل لدينا تبدو أنظف كثيرًا.
‫يمكننا أن نرى أننا نقوم ببعض التحديث للموقع هنا.
‫يمكننا أن نرى ما إذا كان يجب أن تعود المنصة وما إذا كان يجب أن تعود.
‫ثم نقوم بتحديث الموقع وتقلبه.
‫الآن الشيء الوحيد الذي أعتقد أنه سيبدو أفضل قليلاً هنا هو إذا كان لدينا عبارة alt بدلاً من وجود هذه المجموعة
‫من التعليمات البرمجية في الأعلى.
‫لذلك إذا كان يجب على النظام الأساسي العودة ، فسنقوم بتنفيذ هذا وإلا فسنقوم بتنفيذ الكود العادي من حيث
‫تحريكه للأمام.
‫لذلك تذكر أننا أعدنا رأيك إلى الوقت الذي تحدثنا فيه عن بيان بديل.
‫إنه يأتي فقط بعد عبارة if ونفعل ذلك على هذا النحو.
‫بعد الأقواس ، لدينا سطر جديد واكتب else ، ثم سطر جديد آخر ونفتح بعض الأقواس الجديدة
‫، ويمكننا فقط تحريك هذا الرمز الموجود هنا أعلى العلامة.
‫يمكننا أن نأخذه وننقله لأسفل في بيان بديل.
‫حتى الآن يبدو الأمر بسيطًا جدًا.
‫هل يجب أن تعود المنصة ثم هل تعود الشفرة التي تقوم بها المنصة بغيرها؟
‫نحن ندفع المنصة للأمام بسرعة منصتنا.
‫الآن أود أن أتحداك لإنشاء وظيفتك الخاصة ذات القيمة المرتجعة.
‫أرغب في إضافة وظيفة نقل المسافة.
‫لذلك قمنا حاليًا بحساب هذا في متغير يسمى المسافة المقطوعة.
‫أرغب في استبدال ذلك باستدعاء وظيفة بدلاً من ذلك.
‫لذلك يجب أن تعيد تعويمًا لأن هذه هي الطريقة التي يتم بها تحريك نوع المسافة ، يجب أن نسميها في حالة عودة النظام
‫الأساسي.
‫لذا بدلاً من استخدام التوزيع المتجه ، يجب أن نستخدم طريقة التنفيذ الخاصة بنا.
‫إذن ما هو الكود الذي يجب أن يحتوي عليه؟
‫ما هو الكود الذي يجب أن نضعه فيه؟
‫التلميح هو أننا كتبنا هذا الرمز بالفعل ، لذا فأنت تقوم فقط بنسخه ولصقه في الوظيفة
‫الجديدة.
‫لكن فكر قليلاً في ما يجب أن يكون عليه تعبير العودة ، بحيث أن ما نعيده هو
‫قيمة المسافة التي تم نقلها.
‫أوقف الفيديو واذهب.
‫مرحبًا بعودتك.
‫لذلك دعونا ننتقل إلى رأس الملف.
‫سنقوم بإضافة دالة جديدة هنا بقيمة عائمة تُرجع تسمى نقل المسافة.
‫وبعد ذلك ، لن يكون لدينا أي حجج بين الأقواس.
‫ثم ننتقل إلى منصتنا المتحركة.
‫CP سنضيف عوامة ، منصة متحركة ، نقطتان ، مسافة القولون المتحرك أو تحريك المسافة ، يجب أن أقول
‫الأقواس.
‫ثم نضع مجموعة جديدة من الأقواس في السطر التالي.
‫وما نريد إرجاعه هو التعبير الذي نستخدمه حرفيًا لإنشاء تعويم حركة
‫المسافة حتى أتمكن من قص ذلك ولصقه هنا.
‫إذن فهي متجه f ، والنقطتان ، والنقطتان ، والتوزيع ، وموقع البدء ، والحصول على موقع نشط ووضع فاصلة منقوطة في نهاية
‫هذا السطر.
‫وهذا يعني أن النظام الأساسي يجب أن يعود.
‫الآن بدلاً من تحريك هذه المسافة المتغيرة ، سأقوم بحذف هذا الخط الذي اكتمل نصفه.
‫سنعود ونحرك المسافة.
‫الأقواس أكبر من مسافة التحرك.
‫لذا فقد أخذنا نوعًا ما في المتغير واستخرجناه في وظيفته الخاصة بدلاً من ذلك.
‫وهذا يعني أنه كلما أردنا الإشارة إلى المسافة التي تم نقلها ، إذا أردنا الاحتفاظ
‫برسالة السجل هذه في منصة MOVE ، فيمكننا بسهولة استدعاء الوظيفة ، والحصول على مسافة من أي من
‫الوظائف في فصلنا.
‫أشياء عظيمة.
‫لقد تعلمنا في هذه المحاضرة عن جمل الإرجاع وقيم الإرجاع ، واستخدمناها لإنشاء
‫وظيفتين جديدتين في صفنا.
‫سأراك في المحاضرة القادمة.