پرش به مطلب اصلی

تابع‌ها و متغیرها

معرفی

فلسفه طراحی اصلی زبان برنامه‌نویسی Wave این است که با ایجاد تعادل بین عملکرد سطح پایین و انتزاع سطح بالا، محیطی کارآمد و انعطاف‌پذیر برای توسعه نرم‌افزار فراهم کند. در این بخش عناصر اساسی برنامه Wave، یعنی تابع‌ها و متغیرها، معرفی می‌شوند. این عناصر برای ساختاردهی منطق و مدیریت داده در برنامه ضروری هستند. با درک نحوه تعریف و مدیریت تابع‌ها و متغیرها می‌توانید به طور کامل از پتانسیل Wave بهره‌برداری کنید.


تابع

در Wave، تابع‌ها به عنوان بلوک‌های کد قابل‌استفاده مجدد عمل می‌کنند که می‌توانند به طور مستقل اجرا شوند. تابع‌ها عملکرد خاصی را کپسوله می‌کنند و امکان فراخوانی آنها را هر زمان که در سراسر برنامه نیاز باشد، فراهم می‌آورند. این اجازه می‌دهد تا محاسبات انجام شده، عملیات I/O مدیریت شده و کد به واحدهای قابل‌مدیریت تقسیم شود.

در Wave، امضای تابع با کلمه کلیدی fun شروع می‌شود و شامل نام تابع، پارامترها (در صورت وجود) و بدنه تابع محصور در براکت‌های {} می‌باشد.

تعریف تابع

یک تابع ساده در Wave به صورت زیر تعریف می‌شود:

fun main() {
// کد خود را اینجا بنویسید
}
  • تابع main به عنوان نقطه ورود برای اجرای برنامه همیشه ضروری است.
  • یک تابع می‌تواند پارامترهایی داشته باشد و مقداری را بازگرداند. نوع بازگشتی را در ادامه نام تابع مشخص کنید.

نمونه: تابع ساده

fun add(a :i32, b :i32) -> i32 {
return a + b;
}

fun main() {
var result = add(5, 7); // فراخوانی تابع add
println(result); // خروجی: 12
}

در مثال بالا:

  • تابع add دو عدد صحیح a و b را دریافت کرده و مجموع آن‌ها را بازمی‌گرداند.
  • تابع main تابع add را فراخوانی کرده و نتیجه را چاپ می‌کند.

متغیرها

متغیرها برای ذخیره و دستکاری داده‌ها در برنامه استفاده می‌شوند. Wave از اعلان متغیرها به صورت قابل تغییر و غیرقابل تغییر پشتیبانی می‌کند و به توسعه‌دهنده کنترل بر مدیریت داده‌ها را می‌دهد.

متغیرهای قابل تغییر

در Wave، متغیرها به طور پیش‌فرض قابل تغییر (mutable) هستند. یعنی در طول اجرای برنامه می‌توان مقدار آن‌ها را تغییر داد.

متغیرهای قابل تغییر با استفاده از کلیدواژه var اعلام می‌شوند.

var x :i32 = 10; // متغیر قابل تغییر
x = 20;

در مثال بالا:

  • x یک متغیر قابل تغییر است که مقدار اولیه 10 را داشته و سپس می‌توان آن را به 20 تغییر داد.

متغیرهای غیرقابل تغییر

اعلام یک متغیر به صورت غیرقابل تغییر (immutable) بدین معنی است که پس از تخصیص مقدار اولیه نمی‌توان آن را تغییر داد.

متغیرهای غیرقابل تغییر با استفاده از کلیدواژه let اعلام می‌شوند.

let y :i32 = 5;         // متغیر غیرقابل تغییر
// y = 10; // خطا: متغیر غیرقابل تغییر نمی‌تواند مقدارش تغییر کند.

اینجا:

  • y یک متغیر غیرقابل تغییر است و تلاش برای تغییر مقدار آن منجر به خطای کامپایل می‌شود.

اما اگر بخواهید یک متغیر قابل تغییر را با استفاده از کلیدواژه let داشته باشید، می‌توانید mut را استفاده کرده و به صورت موقت متغیر را قابل تغییر کنید.

let mut y :i32 = 5;
y = 10;

مثال‌هایی از اعلان متغیرها

مثال‌هایی از اعلان متغیرهای قابل تغییر و غیرقابل تغییر با انواع مختلف عبارتند از:

var x :i32 = 10;                    // متغیر صحیح قابل تغییر
let y :f64 = 3.14159; // متغیر نقطه شناور غیرقابل تغییر
var name :str = "Wave"; // متغیر رشته‌ای قابل تغییر
let is_active :bool = true; // متغیر بولی غیرقابل تغییر
  • x یک عدد صحیح قابل تغییر است.
  • y یک عدد نقطه شناور غیرقابل تغییر است.
  • name یک رشته قابل تغییر است.
  • is_active یک مقدار منطقی غیرقابل تغییر است.

در Wave، متغیرهای قابل تغییر با استفاده از کلیدواژه var و متغیرهای غیرقابل تغییر که پس از تخصیص اولیه نمی‌توانند تغییر کنند با let اعلام می‌شوند.

با تفکیک متغیرهای قابل تغییر و غیرقابل تغییر، Wave می‌تواند یکپارچگی داده و وضعیت برنامه را به شکلی مؤثر کنترل کند. این امر امکان نوشتن کدهای مستحکم و قابل پیش‌بینی‌تر را فراهم می‌کند.