این آموزش براساس مستندات خود Rust تهیه شده است. هدف راهاندازی محیط کار زبان برنامهنویسی راست بوده و مثال سادهای را خواهیم داشت.
نصب Rust
شما میتوانید از کامپایلر آنلاین راست، به آدرس «اینجا کلیک کنید» استفاده کنید. اما اجازه دهید تا آن را برروی سیستم خود ستاپ کنیم. 🙂
1. روش اصلی نصب راست، از طریق ابزاری به نام Rustup میباشد که در واقع نصب کنندهی راست (Rust installer) و ابزار مدیریت نسخه (version management tool) میباشد. بنابراین ابتدا آن را از «این لنیک» و برای ویندوز دانلود کنید. اگر تحت لینوکس کار میکنید، دستور زیر را در ترمینال اجرا کنید:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
2. پس از دانلود فایل EXE، آن را بصورت Run as administrator اجرا کنید. پنجرهی زیر برایتان نمایش داده میشود:
در اینجا سه گزینه دارید که میتوانید آن را نوشته و اجرا کنید:
- اگر عدد 1 را نوشته و اجرا کنید، روند نصب بصورت پیشفرض جلو خواهد رفت.
- اگر عدد 2 را نوشته و اجرا کنید، روند نصب با حالت دلخواه و شخصیسازی جلو خواهد رفت.
- اگر عدد 3 را نوشته و اجرا کنید، روند نصب لغو خواهد شد.
من در اینجا با حالت پیشفرض جلو میروم. بنابراین عدد 1 را نوشته و اجرا کنید تا روند نصب آغاز شود. حتما به اینترنت متصل باشید چراکه فایلها از اینترنت برای دانلود دریافت خواهند شد. در نهایت پس از اتمام نصب، پنجره بطور خودکار بسته خواهد شد.
حالا برای اطمینان از صحت نصب، دستور زیر را در CMD اجرا کنید:
rustc --version
بایستی با پیامی شبیه به پیام زیر روبرو شوید:
در این صورت، مراحل نصب به درستی انجام یافته است. همچنین دستور زیر را نیز اجرا کنید:
rustup show
بایستی با چیزی شبیه به پیام زیر روبرو شوید:
stable-x86_64-pc-windows-msvc (default)
rustc 1.37.0 (eae3437df 2019-08-13)
Cargo
وقتی Rustup نصب شد، آخرین نسخههای پایدار Rust build tool و package manager آن نیز دریافت شدند. Cargo در واقع همان Package Manager راست است که موارد زیر را در اختیارمان قرار میدهد:
- بیلد کردن پروژه با دستور:
cargo build - اجرای پروژه با دستور با دستور:
cargo run - تست پروژه با دستور:
cargo test - ایجاد مستندات برای پروژه با دستور:
cargo doc - انتشار یک کتنابخانه در crates.io با دستور زیر:
cargo publish
برای اینکه مطمئن شوید که Cargo برروی سیستم شما نصب شده است، دستور زیر را در CMD اجرا کنید:
cargo --version
اگر با چیزی شبیه به پیام زیر روبرو شدید، کارگو به درستی نصب شده است:
ابزارهای دیگر
طبیعتا بایستی برای نوشتن کد، از محیطهای توسعه (IDE ها) و یا ویرایشگرها متن قدرتمند استفاده کنید. اما طبیعتا برای استفاده از راست در آنها، به ابزارهایی نیاز خواهید داشت. در زیر، لیست لینک این ابزارها را برای هرکدام از IDE ها و ادیتورها لینک کردهایم:
- VS Code یا همان ویژوال استودیو کد (خود ویژوال استودیو نیست)
- Sublime Text 3
- Atom
- Intellij IDEA
- Eclipse
- VIM
- EMacs
شما همچنین میتوانید ابزار قالببندی کد راست (Rustfmt) را با دستور زیر نصب کنید:
rustup component add rustfmt
همچنین linting tool ای به نام Clippy را نیز میتوانید با دستور زیر نصب کنید:
rustup component add clippy
ایجاد یک پروژه جدید
حالا که همه چیز نصب شده است، بیایید یک اپلیکیشن کوچک با محیط توسعهی جدیدمان بنویسیم. برای شرع، از Cargo (کارگو) جهت ساخت یک پروژهی جدید استفاده میکنیم. بنابراین در CMD یا تریمنال، دستور زیر را نوشته و اجرا کنید:
cargo new hello-rust
این دستور، یک دایرکتوری به نام hello-rust در مسیر فعلی CMD و با ساختار زیر ایجاد میکند:
hello-rust |- Cargo.toml |- src |- main.rs
این ساختار بدین شرح است:
- Cargo.toml
فایل مانیفست (manifest) راست است. جایی که شما متادیتا (metadata)های پروژهی خود را در آن نگه میدارید، مثل وابستگیها (depoendencies). - src/main.rs
در واقع پوشهی src شامل فایلهای کد ما میباشد و فایل main.rs که بصورت پیشفرض وجود دارد، نقطهی اجرایی اپلیکیشن ما است.
دستور cargo new
این دستور، باعث ایجاد یک پروژه میشود. در بالا از آن استفاده کردیم. کدی که بصورت پیشفرض داخل فایل main.rs قرار دارد، بصورت زیر است:
fn main() { println!("Hello, world!"); }
این کد، پیام زیر را در پنجره کنسول چاپ میکند:
دستور cargo run
این دستور، پروژه را اجرا میکند. بنابراین ابتدا بایستی در CMD یا ترمینال، به دایرکتوری مربوط به پروژه رفته و سپس آن را اجرا کنید. اگر بخواهیم اپلیکیشن پیشفرض را اجرا کنیم، با نتیجه زیر روبرو میشویم:
$ cargo run Compiling hello-rust v0.1.0 (/Users/ag_dubs/rust/hello-rust) Finished dev [unoptimized + debuginfo] target(s) in 1.34s Running `target/debug/hello-rust` Hello, world!
همانطور که میبینید، ابتدا کامپایل صورت گرفته، سپس پیام اتمام کامپایل چاپ شده و در پیام اجرای پروژه و نتیجهای پروژه که چاپ پیام Hello, World است.
اضافه کردن وابستگیها (dependencies)
بیایید یک وابستگی به پروژهی خود اضافه کنیم. شما میتوانید تمامی کتابخانهها (libraries) ثبت شده را در crates.io و بصورت مرتب شده پیدا کنید. در راست، به پکیجها اغلب «crates» نیز گفته میشود؛ که به معنای جعبه، بسته و یا محفظه میباشد.
در این پروژه، ما از جعبهای بنام ferris-says استفاده میکنیم. بنابراین به فایل Cargo.toml رفته و خطی که عبارت [dependencies] در آن نوشته شده است را پیدا کنید. سپس به زیر آن، دستور زیر را اضافه کنید:
[dependencies] ferris-says = "0.1"
به همین سادگی! حالا میتوانیم دستور کارگوی زیر را اجرا کنیم تا پروژه بیلد شده و کارگو وابیستگیهیمانا را نصب کنید:
cargo build
خواهید دید این دستور، فایل جدیدی بنام Cargo.lock را در پروژه ایجاد میکند! این فایل، یک لاگ از نسخههای دقیق وابستگیهایی میباشد که از آنها بصورت لوکالی (locally یا محلی) استفاده میکنیم.
حالا ابتدا محتوای فایل main.rs را پا کنید تا یک پروژه جدید بسازیم. ولی جهت استفتاده از این وابستگی که اضافه کردیم، میتوان در فایل main.rs، کد زیر را نوشت:
use ferris_says::say;
این خط بدین معناست که میتوانیم از تابعی به نام say که در جعبهی ferris-says تعریف شده است، استفاده کنیم.
یک اپلیکیشن راست کوچک
حالا بیایید یک اپلیکیشن کوچک راستی بنویسیم. این کار را با وابستگی جدیدی که در بالا اضافه کردیم انجام خواهیم داد بنابراین فایل main.rs خود را بصورت زیر تکمیل کنید:
use ferris_says::say; // from the previous step use std::io::{stdout, BufWriter}; fn main() { let stdout = stdout(); let out = b"Hello fellow Rustaceans!"; let width = 24; let mut writer = BufWriter::new(stdout.lock()); say(out, width, &mut writer).unwrap(); }
اگر متوجه خطوط نوشته شده درک د نمیشوید، اشکالی ندارد و این یک امر طبیعی است و هدف ما هم در اینجا یاد گرفتن این کد نیست. بنابراین آن را ذخیره کرده و سپس همانند قبل، دستور اجرای پروه را در CMD بنویسید تا با خروجی خوشکل زیر روبرور شوید:
---------------------------- | Hello fellow Rustaceans! | ---------------------------- \ \ _~^~^~_ \) / o o \ (/ '_ - _' / '-----' \
تبریک! شما توانستید محیط راست را آماده کرده و یک پروژهای را بصورت کلیشهای ساخته و اجرا کنید.
نظرات ثبت شده بدون دیدگاه