started book again

This commit is contained in:
LuKe Tidd 2023-05-02 09:25:21 -04:00
parent f4dc4f8a43
commit 36e2990305
Signed by: luke
GPG Key ID: 75D6600BEF4E8E8F
10 changed files with 172 additions and 2 deletions

15
.gitignore vendored
View File

@ -1 +1,14 @@
target/*
# Generated by Cargo
# will have compiled files and executables
debug/
target/
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock
# These are backup files generated by rustfmt
**/*.rs.bk
# MSVC Windows builds of rustc generate these, which store debugging information
*.pdb

View File

@ -0,0 +1,8 @@
[package]
name = "guessing_game"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]

View File

@ -0,0 +1,12 @@
use std::io;
// file:///home/luket/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/share/doc/rust/html/std/io/index.html
fn main() {
println!("guess the number");
println!("your guess: ");
let mut guess = String::new();
io::stdin()
.read_line(&mut guess)
.expect("failed to read line");
println!("your guess: {guess}");
}

View File

@ -0,0 +1,8 @@
[package]
name = "hello_cargo"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]

View File

@ -0,0 +1,3 @@
fn main() {
println!("Hello, world!");
}

60
book/notes Normal file
View File

@ -0,0 +1,60 @@
chapter 2
https://doc.rust-lang.org/book/ch02-00-guessing-game-tutorial.html
include packages:
using std::io;
print is a macro:
println!("text");
make a new mutable string:
let mut guess = String::new();
// new is a function of the string type.
// an "associated function"
& is a reference
result is an enumeration
it's variants are "Ok" and "Err"
There are a set of "items" defined before importing anything. This is called the "prelude".
chapter 1
https://doc.rust-lang.org/book/ch01-00-getting-started.html
linux:
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
update:
rustup update
docs:
rustup doc
compiler is `rustc`
cargo --version
toml = toms obvious minimal language
new project:
cargo new $project_name --vcs=none
$project_dir/
$project_dir/Cargo.toml
$project_dir/src/main.rs
$project_dir/target/debug/$project_bin
build:
cargo build
run:
cargo run
don't compile, just check:
cargo check
don't add debug symbols:
cargo build --release

1
book/url Normal file
View File

@ -0,0 +1 @@
https://doc.rust-lang.org/book/

62
class/desc Normal file
View File

@ -0,0 +1,62 @@
Overview
Prerequisite
The course is for Rust beginners:
You already know how to program, preferably in a statically typed language.
Some knowledge of C or C++ will be helpful since we'll sometimes compare Rust constructs with those languages.
You should not take the go/rust-101 course first since we will cover the same content, plus much more.
Description
Mailing list: g/comprehensive-rust
Chat: go/comprehensive-rust-chat
Material: go/comprehensive-rust-material
Recordings: go/comprehensive-rust-recordings
Repository: go/comprehensive-rust-repository
More: go/comprehensive-rust-classes
This Rust training is for people with no prior Rust experience. The course covers the core of Rust, from basic syntax to advanced topics such as traits, generics, error handling, and memory management.
The course is split over three days, with each day covering increasingly advanced part of the language.
Day 1:
Basic syntax: tuples, structs, enums, and methods
Memory management, ownership, borrowing, and lifetimes
Exercises
Day 2:
Control flow expressions
Pattern matching
Modules and project structure
Important standard library types
Exercises
Day 3:
Traits and generics
Error handling
Testing
Unsafe Rust
Exercises
We have a number of other classes which cover more spezialized topics such as bare-metal Rust, concurrency, and Rust in Android. Please see go/comprehensive-rust-classes
.
Please register your interest with the Session Alert in the bottom-right corner. Contact Martin Geisler
and Thomas Oertli
if you would like to schedule a class for your team or if you would like to teach a class yourself. Contact g/comprehensive-rust
and github.com/google/comprehensive-rust/discussions
with general questions.
Pre-work
Please install the Rust compiler and the Cargo build system before the course. Follow the instructions on https://rustup.rs/
for this.
Check that everything worked by running
$ cargo new my-project
$ cd my-project
$ cargo run
If this completes successfully, you'll be all set for the course.

3
udemy_course Normal file
View File

@ -0,0 +1,3 @@
pass show study/udemy.com
'ultimate rust'