# 🦀 Learning rust-book 🦀
## `(0.1)` "Язык программирования [Rust](rust-lang.org)"
### `(0.1.1)` "Начало": [_*click*_](https://doc.rust-lang.ru/book/title-page.html)
RustUp
Установака `RustUp` на MacOs.
```fish
brew install rustup
```
Установка стабильной версии!
```fish
rustup default stable
```
### `(0.1.2)` "Предисловие": [_*click*_](https://doc.rust-lang.ru/book/foreword.html)
About:foreword
> **`Rust 🦀`** - это "*`разрушение барьеров`*". В большей мере на это странице описание книги и ввод читателя в курс дела.
### `(0.1.3)` "Введение": [_*click*_](https://doc.rust-lang.ru/book/ch00-00-introduction.html)
About:introduction
В главе говориться о: [*`Кому подходит Rust`*](https://doc.rust-lang.ru/book/ch00-00-introduction.html#%D0%9A%D0%BE%D0%BC%D1%83-%D0%BF%D0%BE%D0%B4%D1%85%D0%BE%D0%B4%D0%B8%D1%82-rust) и [*`Как использовать эту книгу`*](https://doc.rust-lang.ru/book/ch00-00-introduction.html#%D0%9A%D0%B0%D0%BA-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D1%8D%D1%82%D1%83-%D0%BA%D0%BD%D0%B8%D0%B3%D1%83)
> Подробнее рассмотрю "Как использовать эту книгу":
> "*'В этой книге вы найдёте два вида глав: главы о концепциях и главы с проектом. В главах о концепциях вы узнаете о каком-либо аспекте Rust. В главах проекта мы будем вместе создавать небольшие программы, применяя то, что вы уже узнали. Главы 2, 12 и 20 - это главы проекта; остальные - главы о концепциях.'*"
## `(1.0)` "Начало работы"
__**Начальный план**__: установка, написание программы, использование `cargo`.
### `(1.1)`:`(1.2)`:`(1.3)`: [_*click*_](https://doc.rust-lang.ru/book/ch01-00-getting-started.html)
about:start
Работа `rustc`:
```fish
rustc file.rs
```
> ~ Фунция `cargo`. Используеться для компиляции 1 файла без зависомостей. Если честно сомтительно, но Ok!
Cargo🦀
**`Cargo`** - это 'умный' компилятор, проектер для rust!
> Мощный инстремент который создает рабочую среду. Берет на себя 'зависимости', версии и тд.
Создание `workspace`:
```fish
cargo new name_pj
```
Структура среды:
```fish
$ ls
Cargo.toml src/
```
`Cargo.toml`:
```toml
[package] # Все о проекте!
name = "name_pj" # Имя которое мы задали после cargo new "x"
version = "0.1.0" # Верисия проекта (как в next, или гите)
edition = "2024" # Кратко: Это большие релизы rust. На сколько я понимаю это как подведение итогов сесий разработки. Потому что rust обновляеться постаянно. Сами редакции(2015, 2018, 2021, 2024).
[dependencies] # При добавлении зависимостей они будут тут.
```
`src/`:
```fish
$ ls src/
main.rs # Там будет функция "hello world!"
```
Вызов функций в Rust:
```rs
fn main() {
}
```
---