Kuest AI

ادرس أي شيء مجانًا

ابدأ مجانًا

تعلّم Rust أسرع بـ10 مرات مع الذكاء الاصطناعي

فهم واضح للملكية والاستعارة ومدد الحياة. الصق خطأ مدقّق الاستعارة وسيساعدك Kuest على فهم ما يحميك منه.

817,000+طالب يدرسون بالفعل مع Kuest

موضوعات
10
الإصدار 1.0
صدر عام 2015
النوع
مترجم وثابت الأنواع
يشتهر بـ
أمان الذاكرة دون جامع قمامة

شاهد كيف يعلّمك Kuest

يسألك قبل أن يشرح، لتفكر بنفسك وترسخ المعلومة.

أنت: let s1 = String::from("hi"); let s2 = s1; println!("{}", s1); يعطي "borrow of moved value: s1". لماذا؟
Kuest: في Rust، لكل قيمة مالك واحد فقط. بعد let s2 = s1;، من تظن أنه يملك String؟
أنت: افترضت أن كليهما يملكها، كما لو كان نسخًا في Python.
Kuest: هذا هو الفرق الأساسي. بالنسبة إلى String، ينقل الإسناد الملكية إلى s2. إذا بقيت s1 تملكها أيضًا، فماذا سيحدث عندما يخرجان كلاهما من النطاق؟
أنت: سيحاول كلاهما تحرير الذاكرة نفسها. لذلك تجعل Rust المتغير s1 غير صالح بعد النقل.
Kuest: بالضبط. إذا كنت تحتاج فعلًا إلى سلسلتين منفصلتين، فماذا يمكنك أن تكتب بدلًا من ذلك؟
أنت: let s2 = s1.clone(); لإنشاء نسخة حقيقية، أو let s2 = &s1; إذا كنت أحتاج فقط إلى استعارتها.

إسناد String ينقل الملكية؛ وclone() ينشئ نسخة، بينما & يستعيرها دون نقلها.

طلاب يركزون مع Kuest

طالب
817,000+
دولة
100+
  • من C إلى A في الكيمياء

    “توقفت عن نسخ الإجابات وبدأت أفهم فعلًا. ارتفعت درجتي في الكيمياء من C إلى A خلال فصل دراسي واحد.”

    طالب في الصف الحادي عشر، تكساس
  • 3 ساعات → 40 دقيقة

    “تتحول ملاحظاتي إلى اختبار قصير خلال ثوانٍ. ما كان يستغرق الليل كله أصبح يستغرق مدة حلقة واحدة من مسلسل.”

    طالب في الصف العاشر، كاليفورنيا
  • مستعد أخيرًا لاختبار SAT

    “أخبرتني الخطة تمامًا بما ينبغي أن أفعله كل يوم. دخلت هادئًا لأول مرة على الإطلاق.”

    طالب في الصف الثاني عشر، نيويورك
  • لا يسمح لي أبدًا بتجاوز أي خطوة

    “كان مزعجًا في البداية، لكنه أنقذني يوم الاختبار. استطعت حل كل مسألة من دونه.”

    طالب سنة أولى، أوهايو
  • أفضل من مدرّسي الخاص

    “متاح عند منتصف الليل، وصبور، وتكلفته أقل من جلسة واحدة مع مدرّسي السابق.”

    طالب جامعي في السنة الأولى، فلوريدا
  • سلسلتي وصلت إلى 94 يومًا

    “المهام تستغرق عشر دقائق. أنجزها في الحافلة. وبطريقة ما، أصبحت الآن أنا من يشرح الأحياء لأصدقائي.”

    طالب سنة قبل التخرج، إلينوي
  • أخيرًا فهمت الإسبانية

    “التحدث بصوت عالٍ مع المدرّس حسّن نطقي أسرع من سنة كاملة في الصف.”

    طالب في السنة الثانية، أريزونا
  • اكتشفت نقاط ضعفي في ليلة واحدة

    “أظهر لي فحص الثغرات أنني لم أفهم المولات يومًا. أصلحت ذلك في 15 دقيقة.”

    طالب سنة قبل التخرج، جورجيا
  • أنا ولي أمر: لا مزيد من الانهيارات الساعة 9 مساءً

    “يحصل ابني على مساعدة حقيقية دون أن أتظاهر بأنني أتذكر التفاضل والتكامل، ويمكنني رؤية تقدمه كل أسبوع.”

    ولي أمر، واشنطن

المنهجية

كيفية دراسة Rust مع Kuest

مترجم Rust صارم، ورسائل أخطائه جزء من تعلّمك. اقرأ كل رسالة كاملة، واسأل عن القاعدة التي تفرضها، وارسم من يملك ماذا. يتضح فهم الملكية والاستعارة عبر أمثلة صغيرة كثيرة موزعة على أيام، لا في جلسة طويلة واحدة.

  1. افهم القواعددردشة مع معلّم

    اسأل عن الملكية أو الاستعارة أو Option، وأجب عن أسئلة Kuest للتأكد قبل المتابعة.

  2. اقرأ مدقّق الاستعارةالتقط صورة

    الصق كودك وخطأ المترجم، أو التقط صورة لشاشتك، وسيساعدك Kuest على معرفة القاعدة التي يفرضها.

  3. ارسم الملكيةلوحة تعليمية

    شاهد المالكين والاستعارات والنطاقات مرسومة على لوحة التعليم لتفهم النقل ومدد الحياة.

  4. هل سيُترجم؟اختبارات قصيرة

    أجب عن اختبارات تعرض مقطعًا برمجيًا وتسأل إن كان سيُترجم، وإن لم يكن، فلماذا.

  5. احتفظ بالأنماط في متناولكبطاقات تعليمية

    راجع أساليب Option و Result، وبنية traits وأنماط الاستعارة الشائعة كبطاقات تكرار متباعد.

  6. ركّز على نقاط التعثرمكتشف الثغرات

    دع Kuest يحدد ما يربكك باستمرار، مثل مدد الحياة أو &mut، وتدرّب عليه وحده.

ما ستتعلّمه

اضغط على موضوع لتتعلّمه الآن.

  1. 01Cargo والأساسياتأنشئ مشروعًا باستخدام cargo new واستخدم let و mut والأنواع الأساسية
  2. 02تدفق التحكم والدوالاستخدم if و loop و while و for، وأعِد قيمًا من التعبيرات
  3. 03الملكية والنقلتوقّع متى تُنقل القيمة ولماذا لا يمكن استخدام المتغير القديم
  4. 04الاستعارة والمراجعاستخدم & و &mut واتبع قاعدة كاتب واحد أو قرّاء متعددين
  5. 05السلاسل والمقاطع والمجموعاتاختر بين String و &str واستخدم Vec و HashMap
  6. 06البُنى والتعداداتنمذج البيانات باستخدام structs و enums وأضف أساليب باستخدام impl
  7. 07مطابقة الأنماطتعامل مع كل حالة باستخدام match و if let و Option<T>
  8. 08معالجة الأخطاءأعِد Result<T, E> ومرّر الأخطاء باستخدام العامل ?
  9. 09السمات والأنواع العامةشارك السلوك باستخدام traits واكتب دوال عامة باستخدام الحدود
  10. 10مدد الحياةاقرأ تعليقات مدد الحياة واشرح لماذا لا يمكن لمرجع أن يعيش أطول من بياناته

جرّب أن تسأل

اضغط على سؤال وسيبدأ Kuest في شرحه لك خطوة بخطوة.

يساعدك على الاستعداد لـ

  • مقررات برمجة الأنظمة
  • عمل المشاريع والمصادر المفتوحة

شهر من Kuest يكلف أقل من ساعة مع معلّم خاص

الصبر نفسه، في أي وقت، ولكل مادة. أو ابقَ على الخطة المجانية دائمًا.

معلّم خاص

$40–80لساعة واحدة

  • الحجز قبل أيام
  • مادة واحدة في كل جلسة
  • يتوقف عند انتهاء الساعة

Kuest Plus

$10شهريًا، تُدفع سنويًا

  • كل مادة واختبار على هذا الموقع
  • في أي وقت، وللمدة التي تحتاجها
  • اختبارات قصيرة وبطاقات تعليمية وبودكاست واختبارات تجريبية

إجابات عن أسئلتك

جلسة مذاكرتك التالية تبدأ هنا

خطة مجانية للأبد. لا تحتاج إلى بطاقة.

ابدأ مجانًا