ماکروها

ماکروها در طول کامپایل به کد Rust گسترش می‌یابند و می‌توانند تعداد متغیری از آرگومان‌ها را بگیرند. آنها در پایان با یک «!» متمایز می شوند. کتابخانه استاندارد Rust شامل مجموعه ای از ماکروهای مفید است.

  • println!(format, ..) یک خط را در خروجی استاندارد چاپ می کند و قالب بندی شرح داده شده در [std::fmt] (https://doc.rust-lang.org/std/fmt/index.html) را اعمال می کند. .
  • format!(format, ..) درست مانند println! کار می کند، اما نتیجه را به صورت یک رشته برمی گرداند.
  • dbg!(expression) مقدار عبارت را ثبت کرده و آن را برمی گرداند.
  • todo!() مقداری از کد را به عنوان هنوز پیاده‌سازی نشده علامت‌گذاری می‌کند. panic می کند.
  • unreachable!() مقداری از کد را غیرقابل دسترسی علامت گذاری می کند. اگر اعدام شود وحشت می کند.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

This slide should take about 2 minutes.

نکته مهم این بخش این است که این امکانات مشترک و نحوه استفاده از آنها وجود دارد. اینکه چرا آنها به عنوان ماکرو تعریف می شوند و به چه چیزی گسترش می یابند، بسیار مهم نیست.

این دوره شامل تعریف ماکروها نمی شود، اما در بخش بعدی استفاده از ماکروهای مشتق شده توضیح داده خواهد شد.