ویژگی‌های زبان‌های تابعی: تکرارگرها و closureها

طراحی زبان Rust از بسیاری از زبان‌ها و تکنیک‌های موجود الهام گرفته است و یکی از تأثیرات مهم آن برنامه‌نویسی تابعی است. برنامه‌نویسی به سبک تابعی اغلب شامل استفاده از توابع به عنوان مقادیر است، از طریق ارسال آن‌ها به عنوان آرگومان، بازگرداندن آن‌ها از دیگر توابع، اختصاص آن‌ها به متغیرها برای اجرای بعدی و موارد دیگر.

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

به طور خاص، ما پوشش خواهیم داد:

  • _closureها_، یک ساختار شبیه به تابع که می‌توان آن را در یک متغیر ذخیره کرد.
  • _تکرارگرها_، روشی برای پردازش یک سری عناصر.
  • نحوه استفاده از closureها و تکرارگرها برای بهبود پروژه I/O در فصل 12.
  • عملکرد closureها و تکرارگرها (هشدار: آن‌ها سریع‌تر از چیزی هستند که ممکن است تصور کنید!)

ما قبلاً برخی از ویژگی‌های دیگر Rust، مانند الگوها و enums را پوشش داده‌ایم که همچنین از سبک تابعی تأثیر گرفته‌اند. از آنجایی که تسلط بر closureها و تکرارگرها بخش مهمی از نوشتن کد ایدوماکتیک و سریع در Rust است، ما کل این فصل را به آن‌ها اختصاص خواهیم داد.