واژه‌نامه

در زیر واژه‌نامه‌ای است که هدف آن ارائه تعریف کوتاهی از بسیاری از اصطلاحات در زبان Rust است. برای ترجمه‌ها، این مورد نیز برای اتصال این اصطلاح به زبان اصلی انگلیسی است.

  • allocate:
    تخصیص حافظه پویا در [heap]‌(memory-management/review.md).

  • argument:
    اطلاعاتی که به یک تابع یا متد منتقل می‌شود.

  • نوع مرتبط: نوعی که با یک ویژگی خاص مرتبط است. برای تعریف رابطه بین typeها مفید است.

  • Bare-metal Rust:
    توسعه سطح پایین Rust، اغلب در سیستم‌هایی که سیستم‌عامل ندارند، مستقر می‌شود. Bare-metal Rust را ببینید.

  • block:
    ‏[Blocks]‌(control-flow-basics/blocks-and-scopes.md) و scope را ببینید.

  • borrow:
    Borrowing را ببینید.

  • borrow checker:
    بخشی از کامپایلر Rust که بررسی می‌کند که همه قرض‌ها (borrows) معتبر هستند.

  • brace:
    { and }. Also called curly brace, they delimit blocks.

  • build:
    فرآیند تبدیل کد منبع به کد اجرایی یا یک برنامه قابل استفاده می‌باشد.

  • call:
    برای فراخوانی یا اجرای یک تابع یا متد، کاربرد دارد.

  • channel:
    ‏ برای ارسال ایمن پیام‌ها [بین threadها]‌(concurrency/channels.md) استفاده می‌شود.

  • Comprehensive Rust 🦀:
    دوره‌های اینجا Comprehensive Rust 🦀 نامیده می‌شوند.

  • concurrency:
    اجرای چندین task یا process به طور همزمان.

  • Concurrency در Rust ‏Concurrency in Rust را ببینید.

  • constant:
    مقداری که در طول اجرای برنامه تغییر نمی‌کند.

  • control flow:
    ترتیبی که دستورات یا عملگرها در یک برنامه اجرا می‌شوند.

  • crash:
    یک شکست (failure) یا خاتمه غیرمنتظره و کنترل نشده یک برنامه است.

  • enumeration:
    یک نوع داده که یکی از چندین ثابت نامگذاری شده را، احتمالاً با یک تاپل یا ساختار مرتبط، نگه می‌دارد.

  • error:
    شرایط یا نتیجه غیرمنتظره‌ای که از رفتار مورد انتظار خارج می‌شود.

  • error handling:
    فرآیند مدیریت و پاسخگویی به خطاهایی که در حین اجرای برنامه رخ می‌دهد.

  • exercise:
    مشکل یا task که برای تمرین و آزمایش مهارت‌های برنامه‌نویسی طراحی شده است.

  • function:
    یک بلوک کد قابل استفاده مجدد که وظیفه خاصی را انجام می‌دهد.

  • garbage collector:
    مکانیزمی که به طور خودکار حافظه اشغال شده توسط اشیایی که دیگر استفاده نمی‌شوند را آزاد می‌کند.

  • generics:
    قابلیتی که امکان نوشتن کد با متغیرهایی برای انواع را فراهم می‌کند و امکان استفاده مجدد از کد با انواع داده‌های مختلف را فراهم می‌کند.

  • immutable:
    پس از ایجاد، دیگر قابل تغییر نیست.

  • integration test:
    نوعی تست که تعامل بین بخش‌ها یا اجزای مختلف یک سیستم را تأیید می‌کند.

  • keyword:
    یک کلمه رزرو شده در یک زبان برنامه‌نویسی که معنای خاصی دارد و نمی‌توان از آن به عنوان شناسه یا سایر نامگذاری‌ها استفاده کرد.

  • library:
    مجموعه‌ای از routine‌ها یا کدهای از پیش کامپایل شده که می تواند توسط برنامه‌ها استفاده شود.

  • macro:
    ماکروهای Rust را می‌توان با یک ! در نام آن تشخیص داد. ماکروها زمانی استفاده می‌شوند که توابع عادی کافی نباشد. یک مثال معمولی format! است که تعداد متغیری از آرگومان‌ها را می‌گیرد که توسط توابع Rust پشتیبانی نمی‌شوند.

  • main function:

    برنامه‌های Rust با تابع main شروع به اجرا می‌کنند.

  • match:
    یک ساختار جریان کنترلی در Rust که امکان تطبیق الگو بر روی مقدار یک عبارت را فراهم می‌کند.

  • memory leak:
    وضعیتی که در آن برنامه نمی‌تواند حافظه‌ای را که دیگر مورد نیاز نیست آزاد کند و منجر به افزایش تدریجی استفاده از حافظه می‌شود.

  • method:
    یک تابع مرتبط با یک object یا یک type در Rust.

  • module:
    فضای نامی که شامل تعاریفی مانند توابع، انواع یا صفات برای سازماندهی کد در Rust است.

  • move:
    انتقال مالکیت (ownership) یک مقدار از یک متغیر به متغیر دیگر در Rust.

  • mutable:
    یک ویژگی در Rust که به متغیرها اجازه می‌دهد پس از اعلان، اصلاح شوند.

  • ownership:
    مفهومی در Rust که مشخص می‌کند کدام قسمت از کد مسئول مدیریت حافظه مرتبط با یک مقدار است.

  • panic:
    یک وضعیت خطای غیرقابل جبران در Rust که منجر به خاتمه برنامه می‌شود.

  • parameter:
    مقداری که هنگام فراخوانی به یک تابع یا متد ارسال می‌شود.

  • pattern:
    ترکیبی از مقادیر، عبارت‌ها یا ساختارهایی که می‌توانند با یک عبارت در Rust مطابقت داده شوند.

  • payload:
    داده یا اطلاعاتی که توسط یک پیام، رویداد یا ساختار داده حمل می‌شود.

  • program:
    مجموعه‌ای از دستورالعمل‌هایی که یک کامپیوتر می‌تواند برای انجام یک کار خاص یا حل یک مشکل خاصی اجرا کند.

  • مجموعه‌ای از دستورالعمل‌هایی که یک کامپیوتر می‌تواند برای انجام یک کار خاص یا حل یک مشکل خاص اجرا کند.

  • receiver:
    اولین پارامتر در متد Rust که نمونه‌ای را نشان می‌دهد که متد در آن فراخوانی می‌شود.

  • reference counting:
    یک تکنیک مدیریت حافظه که در آن تعداد ارجاعات به یک object ردیابی می‌شود و زمانی که شمارش به صفر می‌رسد، object تخصیص داده می‌شود.

  • return:
    یک کلمه کلیدی در Rust برای نشان دادن مقداری که باید از یک تابع برگردانده شود استفاده می‌شود.

  • Rust:
    یک زبان برنامه‌نویسی سیستمی که بر safety، کارایی و concurrency تمرکز دارد.

  • Rust Fundamentals:
    روزهای ۱ تا ۴ این دوره.

  • Rust در Android: این Rust in Android را ببینید.

  • ‏ Rust در Chromium:
    Rust in Chromium را ببینید.

  • safe:
    به کدی اشاره دارد که به قوانین مالکیت (ownership) در زبان Rust و قرض‌گرفتن (borrowing) پایبند است و از خطاهای مربوط به حافظه جلوگیری می‌کند.

  • scope:
    منطقه‌ای از یک برنامه که در آن یک متغیر معتبر است و می‌توان از آن استفاده کرد.

  • standard library:
    مجموعه‌ای از ماژول‌ها که عملکردهای ضروری را در Rust ارائه می‌دهند.

  • static:
    یک کلمه کلیدی در Rust برای تعریف متغیرهای ثابت یا موارد با طول عمر 'static استفاده می‌شود.

  • string:
    نوع داده‌ای که داده‌های متنی را ذخیره می‌کند. برای اطلاعات بیشتر به Strings مراجعه کنید.

  • struct:
    یک نوع داده ترکیبی در Rust که متغیرهای انواع مختلف را تحت یک نام واحد جمع می‌کند.

  • test:
    یک ماژول Rust حاوی توابعی که صحت عملکردهای دیگر را آزمایش می‌کند.

  • thread:
    دنباله‌ای جداگانه از اجرا در یک برنامه که امکان اجرای همزمان را فراهم می‌کند.

  • thread safety:
    ویژگی برنامه‌ای که رفتار صحیح را در یک محیط multithread تضمین می‌کند.

  • trait:
    مجموعه‌ای از متدهای تعریف شده برای یک type ناشناخته، راهی برای دستیابی به polymorphism در Rust ارائه می‌دهد.

  • trait bound:
    An abstraction where you can require types to implement some traits of your interest.

  • tuple:
    یک data type ترکیبی که شامل متغیرهایی از انواع مختلف است. فیلدهای Tuple بی‌نام هستند و با شماره ترتیبی آنها قابل دسترسی هستند.

  • type:
    طبقه‌بندی که مشخص می‌کند کدام عملیات را می‌توان بر روی مقادیری از یک تایپ خاص در Rust انجام داد.

  • type inference:
    توانایی کامپایلر Rust برای شناسایی تایپ یک متغیر یا عبارت.

  • undefined behavior:
    اقدامات یا شرایطی در Rust که هیچ نتیجه مشخصی ندارند و اغلب منجر به رفتار غیرقابل پیش‌بینی برنامه می‌شوند.

  • union:
    یک data type که می‌تواند مقادیری از انواع مختلف را در خود نگه دارد، اما فقط یکی در یک زمان خاص.

  • unit test:
    ‏ Rust با پشتیبانی داخلی برای اجرای unit testهای کوچک و integration testهای بزرگتر ارائه می‌شود. Unit Tests را ببینید.

  • unit type:
    نوعی که هیچ داده‌ای را در خود نگه نمی‌دارد و به صورت tuple بدون هیچ عضوی نوشته شده است.

  • unsafe:
    زیرمجموعه (subset) در Rust که به شما امکان می‌دهد رفتار نامشخصی را فعال‌سازی کنید. [Unsafe Rust] (unsafe-rust/unsafe.md) را ببینید.

  • variable:
    یک مکان حافظه که داده‌ها را ذخیره می‌کند. متغیرها در یک scope معتبر هستند.