diff --git a/Projects/01_HelloWorld/main b/Projects/01_HelloWorld/main new file mode 100755 index 0000000..9259a97 Binary files /dev/null and b/Projects/01_HelloWorld/main differ diff --git a/Projects/01_HelloWorld/main.rs b/Projects/01_HelloWorld/main.rs new file mode 100644 index 0000000..0672e51 --- /dev/null +++ b/Projects/01_HelloWorld/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, World!"); +} diff --git a/README.org b/README.org index 34ba6bd..ec87ea4 100644 --- a/README.org +++ b/README.org @@ -4,7 +4,10 @@ #+startup: indent #+link: ch01 https://rust-book.cs.brown.edu/ch01-00-getting-started.html -* Chapter 01: Installation + +* Getting Started + +** Chapter 01: Installation Recommendation is to use ~rustup~ using the command: #+name: install rustup #+begin_src shell @@ -19,7 +22,7 @@ To confirm it's installed: #+RESULTS: confirm rustup installed : rustup 1.26.0 (5af9b9484 2023-04-05) -** Update +*** Update To update ~rustup~ and please do regularly #+name: update rustup #+begin_src shell :results output @@ -30,10 +33,44 @@ To update ~rustup~ and please do regularly : : stable-x86_64-unknown-linux-gnu unchanged - rustc 1.76.0 (07dca489a 2024-02-04) : -** Documentation +*** 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. + +