Mojo Academy · درس

نظرة أولى على التغيير

غيّر البيانات من دون كسر التعليمات البرمجية الأخرى

الدرس 4 من 413 خطوة

نظرة أولى على التغيير درس مجاني في Mojo Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Mojo Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Mojo Academy 4 دروس في المجموع.

تغيير البيانات عن قصد

النسخ المستقلة رائعة، لكن البرامج الحقيقية تحتاج إلى تغيير البيانات: تحديث نتيجة أو زيادة قائمة. فلنفعل ذلك بأمان. ✏️

تغيير var الخاص بك

أبسط تغيير هو إعادة إسناد var تملكه. وبما أنه نسختك، فلا يؤثر التغيير إلا في قيمتك.

var score = 10
score = score + 5

التغيير المحلي خالٍ من الآثار الجانبية

لا يمكن أن يتسرّب تعديل متغير محلي إلى الخارج. وتبقى المتغيرات الأخرى محتفظة بقيمها، لذلك لا يسبب التغيير آثارًا جانبية مفاجئة.

var a = 1
var b = a
a = 100

تحصل الدوال على نسخ افتراضيًا

عند تمرير قيمة إلى دالة، فإنها تعدّل نسخة منها. وتبقى نسختك الأصلية خارج الدالة دون تغيير.

fn bump(n: Int) -> Int:
    return n + 1

لكن قد ترغب أحيانًا في تغيير فعلي

ماذا لو كان ينبغي للدالة تحديث قيمة المستدعي مباشرةً؟ يتيح لك Mojo اختيار ذلك باستخدام اصطلاح inout.

يعني inout التعديل مباشرةً

حدّد الوسيط باستخدام inout، وستعمل الدالة على القيمة الفعلية لدى المستدعي، لذلك تثبت تعديلاتك فعلًا.

fn double(inout n: Int):
    n = n * 2

التعديل صريح وليس عرضيًا

لاحظ أنك اضطررت إلى كتابة inout عن قصد. لا يعدّل Mojo قيمة المستدعي من خلف ظهرك؛ فأنت تختار ذلك دائمًا صراحةً.

تخبرك التوقيعة بما تحتاج إلى معرفته

تكشف توقيعة الدالة عن مقصدها. عندما ترى inout، تعرف أن قيمتك قد تتغير؛ وإلا فتوقّع الحصول على نسخة آمنة.

استدعاء دالة inout

استدعِها باستخدام متغيرك، وشاهد القيمة تتحدّث في موضعها مباشرةً. لقد وصلت الدالة إلى قيمتك الأصلية عن قصد.

var n = 4
double(n)
print(n)

نهج متوازن

يجمع Mojo بين العالمين: نسخ آمنة افتراضيًا، وتعديل مقصود عندما تطلبه. فتحصل على الأمان والمرونة معًا.

ما التالي

هذه مجرد لمحة أولى. ستتعرّف لاحقًا إلى owned ومعامل النقل للتحكم الكامل في كيفية انتقال البيانات. 🚀

تحقق سريع

تريد أن تغيّر دالة القيمة الفعلية لدى المستدعي، لا نسخةً منها. ماذا تستخدم؟

مراجعة

يُعدّل متغيرك الخاص بأمان وفي نطاقه المحلي. ولتغيير قيمة المستدعي، اختر inout صراحةً؛ فلا يحدث أي تعديل عرضي. 🎯

البدء مجانًا

تعلم Mojo مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «نظرة أولى على التغيير» مجاني؟

نعم — نص درس «نظرة أولى على التغيير» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Mojo Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Mojo Academy 4 دروس في المجموع.

ماذا ستتعلم في «نظرة أولى على التغيير»؟

غيّر البيانات من دون كسر التعليمات البرمجية الأخرى تتمرن على Mojo Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Mojo Academy؟

لا تُشترط خبرة سابقة. Mojo Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «نظرة أولى على التغيير»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Mojo Academy هذا؟

نعم. كل درس في Mojo Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. معنى دلالات القيمة
  2. النسخ مقابل الحالة المشتركة
  3. الإعداد الافتراضي الآمن في Mojo
  4. نظرة أولى على التغيير
← العودة إلى Mojo Academy