ویژگی تصویر

دستورات break و continue در Rust

  /  Rust   /  دستورات break و continue در Rust
بنر تبلیغاتی الف
زبان Rust

در این بخش به بررسی دستورات break و continue در Rust می پردازیم، زبان برنامه‌نویسی Rust یکی از زبان‌های مدرن و قدرتمند است که به خاطر ویژگی‌های منحصربه‌فردش مانند امنیت حافظه، سرعت بالا و امکان مدیریت همزمانی شناخته می‌شود. در این زبان، ابزارهای مختلفی برای مدیریت جریان کنترل (control flow) وجود دارد که به برنامه‌نویسان اجازه می‌دهد به شکلی بهینه و ساده منطق برنامه‌های خود را پیاده‌سازی کنند. دو ابزار مهم در این حوزه، دستورات break و continue هستند.

این دستورات در تمامی زبان‌های برنامه‌نویسی معروف کاربرد دارند، اما Rust به دلیل ساختار خاص خود، استفاده از آن‌ها را با ویژگی‌هایی مانند ایمنی بیشتر و پشتیبانی از الگوهای پیشرفته‌ای که به سادگی کد کمک می‌کنند، تکمیل کرده است. در این مقاله، با دستورات break و continue در زبان Rust آشنا می‌شویم، کاربردها و تفاوت‌های آن‌ها را بررسی می‌کنیم و در نهایت با مثال‌های عملی این مفاهیم را روشن‌تر خواهیم کرد.

دستور break: توقف جریان کنترل

مفهوم کلی

دستور break برای متوقف کردن جریان یک حلقه استفاده می‌شود. هنگامی که برنامه‌نویس بخواهد از یک حلقه خارج شود، دستور break به کار می‌رود. با اجرای این دستور، کنترل برنامه از حلقه خارج شده و ادامه‌ی اجرای کد از دستور بعدی حلقه صورت می‌گیرد.

کاربردها

  • خروج از حلقه در شرایط خاص: زمانی که نیاز باشد در هنگام برقراری یک شرط خاص، اجرای حلقه متوقف شود.
  • جلوگیری از بی‌نهایت شدن حلقه: برای جلوگیری از بی‌نهایت اجرا شدن حلقه‌هایی که وابسته به شرایط خارجی هستند.

مثال: خروج از حلقه در صورت یافتن مقدار مشخص

تماشا در حالت تمام صفحه
توضیح مثال:

در این مثال، آرایه‌ای از اعداد را پیمایش می‌کنیم. زمانی که مقدار 30 پیدا شود، دستور break اجرا شده و کنترل از حلقه خارج می‌شود. این روش می‌تواند برای جستجو در داده‌ها بسیار مفید باشد.

استفاده از break با برچسب‌ها

در Rust می‌توان به یک حلقه خاص اشاره کرد و از آن خارج شد، حتی اگر حلقه‌های تودرتو (nested loops) وجود داشته باشند. این ویژگی با استفاده از برچسب‌ها (labels) پیاده‌سازی می‌شود.

مثال:
تماشا در حالت تمام صفحه
توضیح مثال:

برچسب 'outer برای حلقه بیرونی تعریف شده است. وقتی مجموع i و j برابر ۶ شود، دستور break به برچسب مشخص‌شده اشاره کرده و از حلقه بیرونی خارج می‌شود.

دستور continue: عبور از تکرار جاری

مفهوم کلی

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

کاربردها

  • نادیده گرفتن مقادیر خاص در حلقه: زمانی که نیازی به پردازش برخی از مقادیر نباشد.
  • بهینه‌سازی منطق حلقه: برای جلوگیری از اجرای کدهای غیرضروری در برخی شرایط.

مثال: نادیده گرفتن اعداد زوج

تماشا در حالت تمام صفحه
توضیح مثال:

در این مثال، تنها اعداد فرد پردازش می‌شوند. هرگاه عددی زوج باشد، دستور continue اجرا شده و تکرار جاری نادیده گرفته می‌شود.

استفاده از continue با برچسب‌ها

مشابه break، می‌توان از continue نیز در حلقه‌های تودرتو همراه با برچسب‌ها استفاده کرد.

مثال:

تماشا در حالت تمام صفحه
توضیح مثال:

هرگاه i و j برابر شوند، دستور continue به حلقه بیرونی برمی‌گردد و تکرار جاری حلقه داخلی را نادیده می‌گیرد.

تفاوت‌های کلیدی break و continue

خلاصه تفاوت‌ها

ویژگیbreakcontinue
عملکرد اصلیخروج کامل از حلقهعبور از تکرار جاری
کاربردتوقف اجرا در شرایط خاصادامه اجرا با نادیده گرفتن بخشی از منطق
استفاده با برچسب‌هابلهبله

مثال ترکیبی

در یک سناریوی واقعی، ممکن است نیاز باشد از هر دو دستور break و continue در کنار هم استفاده شود.

مثال:

تماشا در حالت تمام صفحه
توضیح مثال:

این برنامه تنها ۵ عدد زوج را چاپ می‌کند و سپس حلقه را متوقف می‌کند. دستور continue برای نادیده گرفتن اعداد فرد و break برای خروج کامل از حلقه استفاده شده است.

دستورات break و continue ابزارهای قدرتمندی برای کنترل جریان برنامه در Rust هستند. با استفاده از این دستورات، می‌توان منطق حلقه‌ها را به شکل بهینه‌تری مدیریت کرد و در شرایط خاص به سادگی کنترل را تغییر داد. همچنین پشتیبانی از برچسب‌ها در Rust انعطاف‌پذیری بیشتری در پیاده‌سازی الگوهای پیچیده فراهم می‌کند. با تمرین و استفاده از این دستورات در پروژه‌های واقعی، می‌توان بهره‌وری بیشتری در کدنویسی به دست آورد.

منابع

  1. مستندات رسمی زبان Rust
  2. کتاب The Rust Programming Language
  3. مقالات آموزشی در Rust by Example

آیا این مطلب برای شما مفید بود ؟

خیر
بله
بنر تبلیغاتی ج