Vec

این Vec بافر قابل تغییر اندازه و heap-allocated است:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Vec پیاده‌سازی‌کننده Deref<Target = [T]> است، به این معنی که می‌توانید متدهای برش را بر روی یک Vec فراخوانی کنید.

Speaker Notes

This slide should take about 5 minutes.
  • Vec نوعی مجموعه است، به همراه String و HashMap. داده‌های آن در حافظه heap ذخیره می‌شود. به این معنی که مقدار داده‌ها نیازی به دانستن در زمان کامپایل ندارد و می‌تواند در زمان اجرا رشد یا کوچک شود.
  • توجه داشته باشید که <Vec<T نیز یک تایپ generic است، اما نیازی به تعیین صریح T ندارید. همان‌طور که همیشه با استنتاج تایپ در Rust ، T در زمان اولین فراخوانی push مشخص شده است.
  • [...]!vec یک ماکرو استاندارد برای استفاده به‌جای ()Vec::new است و از افزودن عناصر اولیه به vector پشتیبانی می‌کند.
  • برای ایندکس‌گذاری vector از [ ] استفاده می‌کنید، اما اگر از محدوده خارج شود، باعث panic می‌شود. به‌طور جایگزین، استفاده از get یک Option را برمی‌گرداند. تابع pop آخرین عنصر را حذف می‌کند.
  • برش‌ها در روز سوم پوشش داده می‌شوند. در حال حاضر، دانش‌آموزان تنها باید بدانند که یک مقدار از تایپ Vec به تمام متدهای مستند شده برش‌ها نیز دسترسی دارد.