تابعها و متغیرها
معرفی
فلسفه طراحی اصلی زبان برنامهنویسی 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 میتواند یکپارچگی داده و وضعیت برنامه را به شکلی مؤثر کنترل کند. این امر امکان نوشتن کدهای مستحکم و قابل پیشبینیتر را فراهم میکند.