77 lines
1.6 KiB
Org Mode
77 lines
1.6 KiB
Org Mode
#+title: RustBook
|
|
#+author: HaQadosch Berraka
|
|
#+date: [2024-02-09 Fri]
|
|
#+startup: indent
|
|
|
|
#+link: ch01 https://rust-book.cs.brown.edu/ch01-00-getting-started.html
|
|
|
|
* Getting Started
|
|
|
|
** Chapter 01: Installation
|
|
Recommendation is to use ~rustup~ using the command:
|
|
#+name: install rustup
|
|
#+begin_src shell
|
|
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
|
|
#+end_src
|
|
|
|
To confirm it's installed:
|
|
#+name: confirm rustup installed
|
|
#+begin_src shell
|
|
rustup --version
|
|
#+end_src
|
|
|
|
#+RESULTS: confirm rustup installed
|
|
: rustup 1.26.0 (5af9b9484 2023-04-05)
|
|
*** Update
|
|
To update ~rustup~ and please do regularly
|
|
#+name: update rustup
|
|
#+begin_src shell :results output
|
|
rustup update
|
|
#+end_src
|
|
|
|
#+RESULTS: update rustup
|
|
:
|
|
: stable-x86_64-unknown-linux-gnu unchanged - rustc 1.76.0 (07dca489a 2024-02-04)
|
|
:
|
|
*** Documentation
|
|
~rustup~ comes with documentation, just type
|
|
#+begin_src shell
|
|
rustup doc
|
|
#+end_src
|
|
|
|
and the browser will open a page with links toward lots of docs.
|
|
|
|
** Chapter 02: Hello, World!
|
|
Basically done in 3 steps:
|
|
- Edit the rs file
|
|
- Compile using ~rustc~
|
|
- Call the executable
|
|
|
|
|
|
Work folder is =Projects/01_HelloWorld=, where we create the file =main.rs=
|
|
#+name: hello_world main.rs
|
|
#+begin_src rust
|
|
fn main() {
|
|
println!("Hello, World!");
|
|
}
|
|
#+end_src
|
|
|
|
To execute this program:
|
|
#+name: 0102 call main
|
|
#+begin_src shell :results output
|
|
cd Projects/01_HelloWorld/
|
|
rustc main.rs
|
|
./main
|
|
#+end_src
|
|
|
|
#+RESULTS: 0102 call main
|
|
: Hello, World!
|
|
|
|
The program wordes, I'm now done.
|
|
|
|
*** Note
|
|
All rust program starts by calling the function ~main~.
|
|
Functions with ~!~ appended to their name, like ~println!~, are macros.
|
|
|
|
|