آموزش راه اندازی Rust و اولین پروژه

این آموزش براساس مستندات خود 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. اگر عدد 1 را نوشته و اجرا کنید، روند نصب بصورت پیشفرض جلو خواهد رفت.
  2. اگر عدد 2 را نوشته و اجرا کنید، روند نصب با حالت دلخواه و شخصی‌سازی جلو خواهد رفت.
  3. اگر عدد 3 را نوشته و اجرا کنید، روند نصب لغو خواهد شد.

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

حالا برای اطمینان از صحت نصب، دستور زیر را در CMD اجرا کنید:

rustc --version

بایستی با پیامی شبیه به پیام زیر روبرو شوید:

rustc 1.37.0 (eae3437df 2019-08-13)

در این صورت، مراحل نصب به درستی انجام یافته است. همچنین دستور زیر را نیز اجرا کنید:

rustup show

بایستی با چیزی شبیه به پیام زیر روبرو شوید:

Default host: x86_64-pc-windows-msvc

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

اگر با چیزی شبیه به پیام زیر روبرو شدید، کارگو به درستی نصب شده است:

cargo 1.37.0 (9edd08916 2019-08-02)

ابزارهای دیگر

طبیعتا بایستی برای نوشتن کد، از محیط‌های توسعه (IDE ها) و یا ویرایشگرها متن قدرتمند استفاده کنید. اما طبیعتا برای استفاده از راست در آنها، به ابزارهایی نیاز خواهید داشت. در زیر، لیست لینک این ابزارها را برای هرکدام از IDE ها و ادیتورها لینک کرده‌ایم:

شما همچنین می‌توانید ابزار قالب‌بندی کد راست (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!");
}

این کد، پیام زیر را در پنجره کنسول چاپ می‌کند:

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  \ (/
               '_   -   _'
               / '-----' \

تبریک! شما توانستید محیط راست را آماده کرده و یک پروژه‌ای را بصورت کلیشه‌ای ساخته و اجرا کنید.

لینک‌های مفید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

cp-codfk

نظرات ثبت شده بدون دیدگاه

توضیحات پیشنهادی نظرات اشتراک