بعد از این درس چه کاری میتوانی انجام بدهی؟
- cargo new ساختار پروژه میسازد و cargo run کامپایل و اجرا را یکجا انجام میدهد.
- کد را اجرا و نتیجه را پیشبینی کنی
- یک تغییر کوچک بدهی و اثرش را توضیح بدهی
- خطای واقعی درس را بخوانی و برطرف کنی
Rust را ساده بفهم
Rust رابطه مالکیت و قرض را در نوعها ثبت میکند تا خطاهای حافظه پیش از اجرا دیده شوند.
اگر برنامه اجرا نشد، از آخرین خط پیام خطا شروع کن؛ نام فایل و شماره خط معمولاً نزدیکترین سرنخاند.
چرا مهم است؟ cargo new ساختار پروژه میسازد و cargo run کامپایل و اجرا را یکجا انجام میدهد.
اولین تمرین تو: count را 3 کن و cargo check را پیش از اجرا بزن. قبل از اجرا، خروجی تازه را در یک جمله بنویس.
این درس را از چهار زاویه بفهم
قرار نیست چیزی را حفظ کنی. یک مفهوم را با چند تعبیر میبینی تا بالاخره تصویر ذهنی روشن خودت را بسازی.
خیلی ساده
Rust زبانی برای تبدیل فکر به دستورهای دقیق است. برنامه یک ورودی میگیرد، کاری روی آن انجام میدهد و نتیجهای قابل مشاهده میسازد.
تشبیه اول: دستور کار
کد مثل دستور کار یک همکار دقیق است: ترتیب مهم است، نامها باید روشن باشند و هر مرحله باید نتیجه مشخصی داشته باشد.
تشبیه دوم: خط تولید
داده وارد خط میشود، چند ایستگاه آن را تغییر میدهند و خروجی بیرون میآید. با بررسی هر ایستگاه میتوانیم خطا را پیدا کنیم.
مدل فنی
در مدل فنی، کد منبع پیش از اجرا ترجمه یا کامپایل میشود. خطای نحوی یعنی مترجم نتوانسته ساختار نوشته را بفهمد.
ورودی
چه دادهای وارد میشود؟ نام، عدد، کلیک یا درخواست؟
پردازش
برنامه چه قانون یا محاسبهای را اجرا میکند؟
خروجی
چه نتیجهای باید ببینی و چطور درستی آن را میسنجی؟
هر خط دقیقاً چه کاری انجام میدهد؟
از بالا به پایین بخوان. ابتدا توضیح را ببین، سپس همان خط را در کارگاه پایین صفحه تغییر بده.
fn main() {این بخش نقطه شروع اجرای برنامه را مشخص میکند.
let price = 180_000;یک مقدار را داخل نامی روشن نگه میدارد تا در خطهای بعد دوباره از آن استفاده کنیم.
let count = 2;یک مقدار را داخل نامی روشن نگه میدارد تا در خطهای بعد دوباره از آن استفاده کنیم.
println!("{}", price * count);نتیجه یا پیام را از داخل برنامه بیرون میآورد تا آن را ببینیم.
}مرز شروع یا پایان یک بخش از برنامه را نشان میدهد.
کلمههایی که نباید گنگ بمانند
کد
متنی با قواعد مشخص که کار مورد انتظار را برای کامپیوتر توضیح میدهد.
نحو یا Syntax
دستور زبان کد؛ مثل جای درست کلمات و نشانهها در یک جمله.
متغیر
یک نام خوانا برای نگهداشتن مقداری که بعداً لازم داریم.
خروجی
نتیجه قابل مشاهدهای که برای بررسی برنامه بیرون میآید.
سه «چرا»ی مهم درس اول
چرا کامپیوتر خودش منظور من را حدس نمیزند؟
چون برنامه بر اساس دستورهای دقیق و قابل تکرار کار میکند. این دقت باعث میشود همان ورودی، نتیجهای پیشبینیپذیر بسازد. ابهام برای گفتوگوی انسانی طبیعی است، اما در کد باید تصمیمها را روشن بنویسیم.
چرا از برنامهای به این کوچکی شروع میکنیم؟
در نمونه کوچک، رابطهٔ علت و نتیجه واضح است. اگر فقط یک مقدار را تغییر بدهی، دقیقاً میفهمی چرا خروجی عوض شده؛ بعد همین فهم را به پروژههای بزرگ منتقل میکنی.
اگر خطا دیدم یعنی برای برنامهنویسی مناسب نیستم؟
نه. خطا گزارش محیط اجرا دربارهٔ چیزی است که نفهمیده یا نتوانسته انجام دهد. خط اول پیام، شماره خط و آخرین تغییری که دادهای سه سرنخ اصلی تو هستند.
از مشاهده تا نوشتن مستقل
هر مرحله فقط کمی سختتر از مرحله قبل است؛ لازم نیست یکباره همهچیز را بلد باشی.
خروجی را حدس بزن
بدون اجرا، نتیجه نمونه را روی کاغذ بنویس. سپس آن را با نتیجه کارگاه مقایسه کن.
یک داده را تغییر بده
فقط نام یا عدد را عوض کن. توضیح بده کدام بخش خروجی باید تغییر کند و کدام بخش ثابت میماند.
یک خروجی تازه بساز
یک داده جدید مثل شهر یا هدف یادگیری بساز و با همان الگوی ساده آن را نمایش بده.
معیار موفقیت: عدد 360000 چاپ میشود.
از یک مثال کوچک شروع کن
cargo new ساختار پروژه میسازد و cargo run کامپایل و اجرا را یکجا انجام میدهد. کد زیر را در فایل «src/main.rs» خودت تایپ و اجرا کن. بعد خروجی را با انتظار درس مقایسه کن.
۱. نمونه را اجرا کن
پیش از اجرا خروجی را حدس بزن و سپس تفاوت را یادداشت کن.
۲. کد را تغییر بده
count را 3 کن و cargo check را پیش از اجرا بزن.
۳. خطا را عمداً بساز
جاانداختن ; در جای expression یا ناسازگاری نوع پیام compile دقیق میدهد. متن خطا و شماره خط را بخوان، علت را پیدا کن و فقط همان بخش را اصلاح کن.
اگر برنامه اجرا نشد، از آخرین خط پیام خطا شروع کن؛ نام فایل و شماره خط معمولاً نزدیکترین سرنخاند.
سه قطعهای که باید بفهمی
Cargo و اولین برنامه Rust
cargo new ساختار پروژه میسازد و cargo run کامپایل و اجرا را یکجا انجام میدهد.
نتیجه قابل مشاهده
عدد 360000 چاپ میشود.
خطایی که باید بشناسی
جاانداختن ; در جای expression یا ناسازگاری نوع پیام compile دقیق میدهد.
میخواهی هزینه دو سفارش را حساب و ابزار پروژه را امتحان کنی.
فرض کن میخواهی هزینه دو سفارش را حساب و ابزار پروژه را امتحان کنی. فعلاً قرار نیست کل برنامه را بسازیم؛ فقط همین نیاز را با چند خط کد حل میکنیم تا معلوم باشد هر خط چه کاری انجام میدهد.
قطعهها را به ترتیب درست بچین
روی هر قطعه بزن تا وارد پاسخ شود؛ برای برگرداندن دوباره روی آن بزن. با دکمههای جابهجایی هم میتوانی بدون کشیدن و رهاکردن ترتیب را اصلاح کنی.
بررسی ساختار تمرین
این صفحه کامپایلر کامل Rust نیست؛ ساختار تمرین را صادقانه بررسی میکند و خروجی مورد انتظار را نشان میدهد. برای اجرای کامل به محیط رسمی همان زبان نیاز است.
یک بخش را تغییر بده و دکمه بررسی را بزن.
راهنماییها مرحلهای هستند؛ اول خودت پیام خطا را بخوان.
count را 3 کن و cargo check را پیش از اجرا بزن. قبل از اجرا، خروجی تازه را در یک جمله بنویس.
این سه اشتباه را انجام نده
جاانداختن ; در جای expression یا ناسازگاری نوع پیام compile دقیق میدهد.
کپیکردن کد بدون اجرای مرحلهبهمرحله
تغییر چند قسمت همزمان و گمشدن علت نتیجه
با 5 سؤال مطمئن شو که مفهوم را گرفتهای
خروجی درست این نمونه چیست؟
چرا پیش از اجرا نتیجه را حدس میزنیم؟
سرنخ خطای این درس چیست؟
بعد از تغییر کد چه کنیم؟
چه وقت آماده درس بعدی هستی؟
فهمیدی، تغییر دادی، نتیجه را توضیح دادی؟
فقط در این صورت درس را کامل کن و سراغ مرحله بعد برو.