برنامه نویسی

30 روز زنگ – روز 1

هیچ سفر آموزشی بدون چاپ شروع نمی شود Hello World! به کنسول روز اول دقیقا همینطور گذشت. برخی از اصول CLI را یاد گرفتم و با برخی از انواع داده های اولیه آشنا شدم.

سوالات باز

  • دقیقا چی هستن :: و عملگر نقطه استفاده می شود؟
  • تفاوت بین عملگرهای بولی دو و تک کاراکتری چیست؟
  • آیا عبارات پیکان کاربرد بیشتری دارند؟
  • آیا عبارات پیکان قوانین قالب بندی یا انواع دیگر محدودیت ها را دارند؟
  • روی زمین ماکروها در Rust چیست؟
  • آیا حاشیه نویسی نوع مورد نیاز است یا تایپ ضمنی برای کامپایلر قابل قبول است؟

بار ورودی 📦🚢

0 تا “سلام جهان!” در 3 دستور

نصب Rust

با پیروی از دستورالعمل های وب سایت رسمی می توانید Rust را به راحتی نصب کنید.

پروژه خود را ایجاد کنید

هنگامی که Rust نصب شد و به PATH اضافه شد، می توانید اجرا کنید:

cargo new <project_name>
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این یک دسته از کدهای دیگ بخار و همچنین ساختار پروژه خوبی را برای کد شما اضافه می کند. دو محصول مهم فرمان شما هستند Cargo.lock و Cargo.toml فایل هایی که با مدیریت وابستگی و تکرارپذیری سروکار دارند.

پروژه خود را بسازید و اجرا کنید

هنگامی که در روت پروژه جدید خود هستید، می توانید اجرا کنید:

cargo run
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این پروژه شما را ساخته و اجرا می کند. یک پروژه جدید به سادگی “Hello World!” به صفحه نمایش

بیشتر در مورد بار

نصب پیش فرض Rust همراه است cargo، مدیر بسته CLI ظاهراً همه کاره Rust. همانطور که در بالا دیدیم، برای راه اندازی پروژه و ساخت پروژه استفاده می شود. در اینجا چند دستور دیگر وجود دارد:

  • cargo add <package_name> -> یک وابستگی به پروژه اضافه کنید
  • cargo build -> پروژه را بسازید و یک فایل اجرایی تولید کنید
  • cargo compile -> پروژه را بدون ارائه یک فایل اجرایی کامپایل کنید

در نگاه اول به نظر می رسد محموله بسیار شبیه پایتون است poetry که یک ابزار شخص ثالث است. من فکر می کنم من فقط سطح کاری که محموله می تواند انجام دهد را خراشیده ام.

به طور خلاصه، توسعه دهندگان Rust مجموعه ای عالی از ابزارهای CLI را از جعبه دریافت می کنند. اگرچه این موضوع کمی مورد نظر است، اما به توسعه دهندگان جوان درک واضح تری از اینکه ساختار پروژه “خوب” می تواند شبیه باشد، می دهد.

من اعلام میکنم

دفتری که من اعلام می کنم

متغیرها در Rust را می توان با استفاده از:

  • let
  • const

    همه متغیرها به طور پیش‌فرض در Rust غیرقابل تغییر هستند، اما ما می‌توانیم یک غیر ثابت را با اضافه کردن تغییرپذیر اعلام کنیم. mut به اعلامیه:

  • let mut

    متغیرهای استفاده نشده باید با اعلان شوند _

توسعه دهندگان زنگ استفاده می کنند مورد مار برای اعلام متغیر حروف کوچک برای متغیرها، حروف بزرگ برای ثابت ها.

از شما انتظار می رود (و من معتقدم لازم است) اعلان های نوع را برای همه متغیرها اضافه کنید. پسوند رسمی Rust VS Code برخی از قابلیت های تکمیل خودکار را برای اعلان نوع ارائه می دهد.

به طور خلاصه، Rust رویکرد بسیار متعارفی به متغیرها دارد، به جز استفاده و snake case و تایپ خودکار تکمیل در IDE، که من قبلاً ندیده بودم.

عملگرهای زنگ زده و نحو

نحوه هجی کردن کولون

در اینجا جالب‌ترین عملگرها و نحوی را که بعد از روز اول در Rust دیده‌ام برجسته می‌کنم.

دو نقطه در مقابل نقطه

در بالای اکثر فایل‌های Rust عبارت‌های import را می‌بینید. این یک مثال است:

use std::fs::File;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این نحو کولون دوگانه برای چشم پایتون من بسیار جدید است. در نظر گرفتن:

from std.fs import File
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

از آنجایی که ماژول های پایتون خود شی هستند، می توانیم از نقطه-نقطه برای استخراج اعضای آن اشیا استفاده کنیم. در Rust به نظر می رسد که std و fs هستند crates و modsبه ترتیب و File تنها شیئی است که می توانیم با آن بازی کنیم. من فرض می‌کنم از عملگر دو نقطه‌ای استفاده می‌شود crates و mods، در حالی که عملگر نقطه برای رزرو شده است structs. این را در پست بعدی وبلاگ توضیح خواهم داد.

let is_rust_wesome: bool = true;

true و false حروف بولی Rust هستند. ما می توانیم از عملگرهای بولی کلاسیک برای مقایسه عبارات استفاده کنیم. چیزی که کمی گیج کننده است این است که Rust عملگرهای دو کاراکتری و تک کاراکتری را پیاده سازی می کند:

  • && و &
  • || و |
    من مطمئن نیستم که تفاوت چیست، این در پست بعدی وبلاگ پاسخ داده خواهد شد.

جریان های مشروط

در رست، if عبارات به شرایط داخل پرانتز و به دنبال آن یک بلوک پیچیده در پرانتزهای فرفری نیاز دارند. شرطی های زنجیره ای از else if کلمه کلیدی که بند پایانی با علامت گذاری شده است else کلمه کلیدی.

زنگ نیز پشتیبانی می کند match عباراتی که شبیه به سوییچ دستورات از زبان های برنامه نویسی دیگر هستند. آ match عبارت عبارات مشخص شده با کاما را در پرانتزهای فرفری می پیچد.

هر عبارت با یک تابع پیکان درون خطی (که از طریق بیان می شود) دنبال می شود =>) که در صورت ارزیابی آن عبارت اجرا می شود true. حالت پیش فرض برای a match بیانیه با الف بیان می شود _.

من شیفته نحو تابع فلش هستم. در حال حاضر، مشخص نیست که نحو فلش قوانینی در مورد قالب بندی یا هر نوع محدودیت دیگری مانند جاوا اسکریپت دارد یا خیر. من همه قوانین را در پست بعدی وبلاگ خلاصه خواهم کرد.

ماکروهای اکسل در Rust؟

برای پایان دادن به این پست وبلاگ، می خواهم به موارد مشکوک اشاره کنم macro Rust را تایپ کنید آ macro یک تابع با ! در پسوند. خوشبختانه، فکر نمی‌کنم برای درک اینکه اینجا چه خبر است، نیازی به برگزاری دوره‌های اکسل یا VBA نباشیم. اما من قبل از پست وبلاگ فردا نگاهی به این موضوع خواهم داشت.

اولین برداشت من این است که Rust عملگرها و نحو را از C++، JavaScript و Python با هم ترکیب می‌کند. بیایید در روزهای آینده ببینیم که آیا این برداشت اول تا حدودی درست است یا خیر.

نوشته های مشابه

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا