mirror of
https://github.com/rust-lang-cn/book-cn.git
synced 2025-01-22 23:10:20 +08:00
Add new files from the English repo
This commit is contained in:
parent
8755282c53
commit
d2cc0cceff
23
.github/ISSUE_TEMPLATE.md
vendored
23
.github/ISSUE_TEMPLATE.md
vendored
@ -1,23 +0,0 @@
|
|||||||
## What to expect when you file an issue here
|
|
||||||
|
|
||||||
This is the repo for an in-progress rework of The Rust Programming Language book
|
|
||||||
available at http://rust-lang.github.io/book/.
|
|
||||||
|
|
||||||
If you are filing an issue about the existing book available at
|
|
||||||
https://doc.rust-lang.org/book/, please note that we are now concentrating on
|
|
||||||
the new version of the book.
|
|
||||||
|
|
||||||
We would still love feedback on the existing book as well as the new book, just
|
|
||||||
know that one of a few things may happen with your issue:
|
|
||||||
|
|
||||||
- If we have not gotten to that topic in the new book, we may leave a note for
|
|
||||||
ourselves about this issue to address when we get there.
|
|
||||||
- We may have already addressed this issue in a rewritten version of the topic
|
|
||||||
relating to this issue, so we might close it.
|
|
||||||
- If this issue still applies to the new book, we will fix it.
|
|
||||||
|
|
||||||
If you have time before filing this issue, please take a look at the new book
|
|
||||||
to see if this issue has been addressed and include that information in the
|
|
||||||
issue.
|
|
||||||
|
|
||||||
Thank you for reading, you may now delete this text!
|
|
14
.github/PULL_REQUEST_TEMPLATE.md
vendored
14
.github/PULL_REQUEST_TEMPLATE.md
vendored
@ -1,14 +0,0 @@
|
|||||||
## What to expect when you open a PR here
|
|
||||||
|
|
||||||
We are currently working with No Starch Press to bring this book to print.
|
|
||||||
Chapters go through a number of stages in the editing process, and once they've
|
|
||||||
gotten to the layout stage, they're effectively frozen.
|
|
||||||
|
|
||||||
For chapters that have gotten to the layout stage, we will likely only be
|
|
||||||
accepting changes that correct factual errors or major problems and not, for
|
|
||||||
example, minor wording changes.
|
|
||||||
|
|
||||||
Scroll all the way to the right on https://github.com/rust-lang/book/projects/1
|
|
||||||
to see which chapters have been frozen.
|
|
||||||
|
|
||||||
Thank you for reading, you may now delete this text!
|
|
27
.travis.yml
27
.travis.yml
@ -1,27 +0,0 @@
|
|||||||
sudo: false
|
|
||||||
language: rust
|
|
||||||
cache: cargo
|
|
||||||
rust:
|
|
||||||
- nightly
|
|
||||||
- beta
|
|
||||||
- stable
|
|
||||||
branches:
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- aspell
|
|
||||||
- aspell-en
|
|
||||||
before_script:
|
|
||||||
- (cargo install mdbook --git https://github.com/azerupi/mdBook.git --force || true)
|
|
||||||
script:
|
|
||||||
- bash spellcheck.sh list
|
|
||||||
- PATH=$PATH:/home/travis/.cargo/bin mdbook test
|
|
||||||
- PATH=$PATH:/home/travis/.cargo/bin mdbook build
|
|
||||||
- cargo run --bin lfp src
|
|
||||||
after_success:
|
|
||||||
- test $TRAVIS_PULL_REQUEST == "false" && test $TRAVIS_BRANCH == "master" && bash deploy.sh
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
secure: BcBxhhCR2EgnZzllxXT3x2NNjAU1sjAwwjZ0lg6VqTetxh+ENHzjDsX4+mrBPXmm2vU7qZSivOHX+TEHHTUQOjHDyRdYg4PaPJxQBQ3/8hw/OEO7LwMo0FKhuixXKlBSBbhBIWomvJnGA7iRQqMabQqQyys1dYI3mb1ck8WMNwFe2ZaEe12nbvzTr0EGFRZ3bJhR0nDmvXlm2XIbwRnSfMSnWAIb/ksKEpwFfCRNwx4dMZkJzOii+rnFaNWO1KIUh4V1+Jo8GR24/2Bd/3HqAxDP+6kAYOcB1hKQuHnVOdVx0B7LUxe6Pgwq98EXaNmpgrq7YUpwwrPEExr6k9UzBkcTcz0X+U9tvaqcvDD1qlQZORdtbOPMvYVkE7uxu/d+/s6CyIaUKIb/RLrqMtdwIye0tYvdVQ8xr4h1tszCR//PwfAaK4BzPCgLPyXpHeJklPjyvKiedVyfOQywpGNRaZN2phQ8RFEN7XXw2PI1+AEZue27nWrDnCR17ExKKWdithPbIrFfi40bn03YuIgq91LURyqM6KE71IU6gNjQlRyko+F0M7W/tbELYZCOw3erctY70JBbWG3KtqW/3sXF6GoGYE4z0v206NmxwndlQ/fd3Vh05toAIqAR+Vx6lebHF7NG4Ki4b7ReuodNMjrDYo28o0EiVapQcXhU1G0FU4o=
|
|
142
Cargo.lock
generated
142
Cargo.lock
generated
@ -1,142 +0,0 @@
|
|||||||
[root]
|
|
||||||
name = "rust-book"
|
|
||||||
version = "0.0.1"
|
|
||||||
dependencies = [
|
|
||||||
"docopt 0.6.82 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"walkdir 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "aho-corasick"
|
|
||||||
version = "0.5.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "docopt"
|
|
||||||
version = "0.6.82"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"strsim 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "kernel32-sys"
|
|
||||||
version = "0.2.2"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "lazy_static"
|
|
||||||
version = "0.2.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "libc"
|
|
||||||
version = "0.2.15"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "memchr"
|
|
||||||
version = "0.1.11"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "regex"
|
|
||||||
version = "0.1.73"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"aho-corasick 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"regex-syntax 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"thread_local 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"utf8-ranges 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "regex-syntax"
|
|
||||||
version = "0.3.4"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rustc-serialize"
|
|
||||||
version = "0.3.19"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "strsim"
|
|
||||||
version = "0.3.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "thread-id"
|
|
||||||
version = "2.0.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "thread_local"
|
|
||||||
version = "0.2.6"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"thread-id 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "utf8-ranges"
|
|
||||||
version = "0.1.3"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "walkdir"
|
|
||||||
version = "0.1.5"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
dependencies = [
|
|
||||||
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "winapi"
|
|
||||||
version = "0.2.8"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "winapi-build"
|
|
||||||
version = "0.1.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
|
|
||||||
[metadata]
|
|
||||||
"checksum aho-corasick 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2b3fb52b09c1710b961acb35390d514be82e4ac96a9969a8e38565a29b878dc9"
|
|
||||||
"checksum docopt 0.6.82 (registry+https://github.com/rust-lang/crates.io-index)" = "8f20016093b4e545dccf6ad4a01099de0b695f9bc99b08210e68f6425db2d37d"
|
|
||||||
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
|
|
||||||
"checksum lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "49247ec2a285bb3dcb23cbd9c35193c025e7251bfce77c1d5da97e6362dffe7f"
|
|
||||||
"checksum libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)" = "23e3757828fa702a20072c37ff47938e9dd331b92fac6e223d26d4b7a55f7ee2"
|
|
||||||
"checksum memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d8b629fb514376c675b98c1421e80b151d3817ac42d7c667717d282761418d20"
|
|
||||||
"checksum regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)" = "56b7ee9f764ecf412c6e2fff779bca4b22980517ae335a21aeaf4e32625a5df2"
|
|
||||||
"checksum regex-syntax 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "31040aad7470ad9d8c46302dcffba337bb4289ca5da2e3cd6e37b64109a85199"
|
|
||||||
"checksum rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)" = "6159e4e6e559c81bd706afe9c8fd68f547d3e851ce12e76b1de7914bab61691b"
|
|
||||||
"checksum strsim 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e4d73a2c36a4d095ed1a6df5cbeac159863173447f7a82b3f4757426844ab825"
|
|
||||||
"checksum thread-id 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a9539db560102d1cef46b8b78ce737ff0bb64e7e18d35b2a5688f7d097d0ff03"
|
|
||||||
"checksum thread_local 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "55dd963dbaeadc08aa7266bf7f91c3154a7805e32bb94b820b769d2ef3b4744d"
|
|
||||||
"checksum utf8-ranges 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a1ca13c08c41c9c3e04224ed9ff80461d97e121589ff27c753a16cb10830ae0f"
|
|
||||||
"checksum walkdir 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "7ad450634b9022aeb0e8e7f1c79c1ded92d0fc5bee831033d148479771bd218d"
|
|
||||||
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
|
|
||||||
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
|
|
28
Cargo.toml
28
Cargo.toml
@ -1,28 +0,0 @@
|
|||||||
[package]
|
|
||||||
name = "rust-book"
|
|
||||||
version = "0.0.1"
|
|
||||||
authors = ["Steve Klabnik <steve@steveklabnik.com>"]
|
|
||||||
description = "The Rust Book"
|
|
||||||
|
|
||||||
[[bin]]
|
|
||||||
name = "concat_chapters"
|
|
||||||
path = "tools/src/bin/concat_chapters.rs"
|
|
||||||
|
|
||||||
[[bin]]
|
|
||||||
name = "lfp"
|
|
||||||
path = "tools/src/bin/lfp.rs"
|
|
||||||
|
|
||||||
[[bin]]
|
|
||||||
name = "link2print"
|
|
||||||
path = "tools/src/bin/link2print.rs"
|
|
||||||
|
|
||||||
[[bin]]
|
|
||||||
name = "remove_links"
|
|
||||||
path = "tools/src/bin/remove_links.rs"
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
walkdir = "0.1.5"
|
|
||||||
docopt = "0.6.82"
|
|
||||||
rustc-serialize = "0.3.19"
|
|
||||||
regex = "0.1.73"
|
|
||||||
lazy_static = "0.2.1"
|
|
@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
"title": "Rust 程序设计语言",
|
|
||||||
"author": "The Rust Project Developers",
|
|
||||||
"translator": "Aaklo Xu"
|
|
||||||
}
|
|
@ -7,8 +7,8 @@ rev=$(git rev-parse --short HEAD)
|
|||||||
cd book
|
cd book
|
||||||
|
|
||||||
git init
|
git init
|
||||||
git config user.name "Aaklo Xu"
|
git config user.name "Aaran Xu"
|
||||||
git config user.email "aakloxu@gmail.com"
|
git config user.email "aaranxu@outlook.com"
|
||||||
|
|
||||||
git remote add upstream "git@github.com:rust-lang-cn/book-cn.git"
|
git remote add upstream "git@github.com:rust-lang-cn/book-cn.git"
|
||||||
git fetch upstream
|
git fetch upstream
|
||||||
|
281
dictionary.txt
281
dictionary.txt
@ -1,281 +0,0 @@
|
|||||||
personal_ws-1.1 en 0 utf-8
|
|
||||||
abcabcabc
|
|
||||||
abcd
|
|
||||||
abcdefghijklmnopqrstuvwxyz
|
|
||||||
adaptor
|
|
||||||
adaptors
|
|
||||||
Addr
|
|
||||||
aliasability
|
|
||||||
alignof
|
|
||||||
Amir
|
|
||||||
APIs
|
|
||||||
aren
|
|
||||||
args
|
|
||||||
backtrace
|
|
||||||
backtraces
|
|
||||||
BACKTRACE
|
|
||||||
Backtraces
|
|
||||||
benchmarking
|
|
||||||
bitand
|
|
||||||
BitAnd
|
|
||||||
bitor
|
|
||||||
BitOr
|
|
||||||
bitwise
|
|
||||||
Bitwise
|
|
||||||
bitxor
|
|
||||||
BitXor
|
|
||||||
Bjarne
|
|
||||||
Boehm
|
|
||||||
bool
|
|
||||||
boolean
|
|
||||||
booleans
|
|
||||||
Bors
|
|
||||||
BuildHasher
|
|
||||||
Cagain
|
|
||||||
callsite
|
|
||||||
CamelCase
|
|
||||||
cargodoc
|
|
||||||
ChangeColor
|
|
||||||
ChangeColorMessage
|
|
||||||
chXX
|
|
||||||
chYY
|
|
||||||
config
|
|
||||||
Config
|
|
||||||
const
|
|
||||||
constant's
|
|
||||||
copyeditor
|
|
||||||
couldn
|
|
||||||
cratesio
|
|
||||||
cryptographically
|
|
||||||
CStr
|
|
||||||
CString
|
|
||||||
ctrl
|
|
||||||
Ctrl
|
|
||||||
deallocated
|
|
||||||
deallocating
|
|
||||||
debuginfo
|
|
||||||
deps
|
|
||||||
deref
|
|
||||||
Deref
|
|
||||||
dereference
|
|
||||||
Dereference
|
|
||||||
dereferencing
|
|
||||||
DerefMut
|
|
||||||
destructure
|
|
||||||
destructuring
|
|
||||||
Destructuring
|
|
||||||
didn
|
|
||||||
Dobrý
|
|
||||||
doccargo
|
|
||||||
doccratesio
|
|
||||||
doesn
|
|
||||||
Edsger
|
|
||||||
else's
|
|
||||||
emoji
|
|
||||||
encodings
|
|
||||||
enum
|
|
||||||
Enum
|
|
||||||
enums
|
|
||||||
enum's
|
|
||||||
Enums
|
|
||||||
ErrorKind
|
|
||||||
Executables
|
|
||||||
extern
|
|
||||||
FFFF
|
|
||||||
figcaption
|
|
||||||
filename
|
|
||||||
Filename
|
|
||||||
filesystem
|
|
||||||
Filesystem
|
|
||||||
FnMut
|
|
||||||
FnOnce
|
|
||||||
formatter
|
|
||||||
FromIterator
|
|
||||||
GitHub
|
|
||||||
gitignore
|
|
||||||
grapheme
|
|
||||||
Grapheme
|
|
||||||
greprs
|
|
||||||
growable
|
|
||||||
hardcoded
|
|
||||||
hardcoding
|
|
||||||
hasher
|
|
||||||
hashmap
|
|
||||||
HashMap
|
|
||||||
Hashmaps
|
|
||||||
Haskell
|
|
||||||
hasn
|
|
||||||
helloworld
|
|
||||||
Hmmm
|
|
||||||
Hoare
|
|
||||||
Hola
|
|
||||||
homogenous
|
|
||||||
html
|
|
||||||
IEEE
|
|
||||||
impl
|
|
||||||
indices
|
|
||||||
init
|
|
||||||
instantiation
|
|
||||||
internet
|
|
||||||
IntoIterator
|
|
||||||
InvalidDigit
|
|
||||||
ioerror
|
|
||||||
iokind
|
|
||||||
ioresult
|
|
||||||
iostdin
|
|
||||||
IpAddr
|
|
||||||
IpAddrKind
|
|
||||||
irst
|
|
||||||
isize
|
|
||||||
iter
|
|
||||||
iterator's
|
|
||||||
JavaScript
|
|
||||||
lang
|
|
||||||
latin
|
|
||||||
libc
|
|
||||||
libcore
|
|
||||||
librarys
|
|
||||||
libreoffice
|
|
||||||
libstd
|
|
||||||
lifecycle
|
|
||||||
login
|
|
||||||
loopback
|
|
||||||
lval
|
|
||||||
mathematic
|
|
||||||
metadata
|
|
||||||
Metadata
|
|
||||||
metaprogramming
|
|
||||||
mibbit
|
|
||||||
Mibbit
|
|
||||||
mkdir
|
|
||||||
modifiability
|
|
||||||
monomorphization
|
|
||||||
Monomorphization
|
|
||||||
monomorphized
|
|
||||||
MoveMessage
|
|
||||||
Mutex
|
|
||||||
namespace
|
|
||||||
namespaced
|
|
||||||
namespaces
|
|
||||||
namespacing
|
|
||||||
newfound
|
|
||||||
newtype
|
|
||||||
nocapture
|
|
||||||
nomicon
|
|
||||||
Nomicon
|
|
||||||
NotFound
|
|
||||||
null's
|
|
||||||
OCaml
|
|
||||||
offsetof
|
|
||||||
online
|
|
||||||
OptionalFloatingPointNumber
|
|
||||||
OptionalNumber
|
|
||||||
OsStr
|
|
||||||
OsString
|
|
||||||
overread
|
|
||||||
parameterize
|
|
||||||
ParseIntError
|
|
||||||
PartialEq
|
|
||||||
PartialOrd
|
|
||||||
powi
|
|
||||||
preprocessing
|
|
||||||
Preprocessing
|
|
||||||
preprocessor
|
|
||||||
PrimaryColor
|
|
||||||
println
|
|
||||||
priv
|
|
||||||
proc
|
|
||||||
pthreads
|
|
||||||
QuitMessage
|
|
||||||
RAII
|
|
||||||
randcrate
|
|
||||||
READMEs
|
|
||||||
rect
|
|
||||||
redeclaring
|
|
||||||
Refactoring
|
|
||||||
refactor
|
|
||||||
refactoring
|
|
||||||
RefCell
|
|
||||||
repr
|
|
||||||
ripgrep
|
|
||||||
runtime
|
|
||||||
Rustacean
|
|
||||||
Rustaceans
|
|
||||||
rustc
|
|
||||||
rustdoc
|
|
||||||
rustup
|
|
||||||
SecondaryColor
|
|
||||||
semver
|
|
||||||
SemVer
|
|
||||||
shouldn
|
|
||||||
sizeof
|
|
||||||
someproject
|
|
||||||
someusername
|
|
||||||
SPDX
|
|
||||||
spdx
|
|
||||||
SpreadsheetCell
|
|
||||||
sqrt
|
|
||||||
stackoverflow
|
|
||||||
stderr
|
|
||||||
stdin
|
|
||||||
Stdin
|
|
||||||
stdlib
|
|
||||||
stdout
|
|
||||||
steveklabnik's
|
|
||||||
Stroustrup
|
|
||||||
struct
|
|
||||||
Struct
|
|
||||||
structs
|
|
||||||
struct's
|
|
||||||
Structs
|
|
||||||
subcommand
|
|
||||||
subcommands
|
|
||||||
subdirectories
|
|
||||||
subdirectory
|
|
||||||
submodule
|
|
||||||
submodules
|
|
||||||
Submodules
|
|
||||||
suboptimal
|
|
||||||
subtree
|
|
||||||
subtyping
|
|
||||||
Supertraits
|
|
||||||
That'd
|
|
||||||
test's
|
|
||||||
timeline
|
|
||||||
TODO
|
|
||||||
toml
|
|
||||||
TOML
|
|
||||||
tradeoff
|
|
||||||
tradeoffs
|
|
||||||
TrafficLight
|
|
||||||
trpl
|
|
||||||
tuple
|
|
||||||
tuples
|
|
||||||
typeof
|
|
||||||
UFCS
|
|
||||||
unary
|
|
||||||
Unary
|
|
||||||
Uninstalling
|
|
||||||
uninstall
|
|
||||||
unoptimized
|
|
||||||
UnsafeCell
|
|
||||||
unsized
|
|
||||||
unsynchronized
|
|
||||||
username
|
|
||||||
USERPROFILE
|
|
||||||
usize
|
|
||||||
UsState
|
|
||||||
utils
|
|
||||||
variable's
|
|
||||||
vers
|
|
||||||
Versioning
|
|
||||||
wasn
|
|
||||||
whitespace
|
|
||||||
wildcards
|
|
||||||
workspace
|
|
||||||
workspaces
|
|
||||||
Workspaces
|
|
||||||
wouldn
|
|
||||||
writeln
|
|
||||||
WriteMessage
|
|
||||||
yyyy
|
|
20
doc-to-md.sh
20
doc-to-md.sh
@ -1,20 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -eu
|
|
||||||
|
|
||||||
# Get all the docx files in the tmp dir,
|
|
||||||
ls tmp/*.docx | \
|
|
||||||
# Extract just the filename so we can reuse it easily.
|
|
||||||
xargs -n 1 basename -s .docx | \
|
|
||||||
while IFS= read -r filename; do
|
|
||||||
# Make a directory to put the XML in
|
|
||||||
mkdir -p "tmp/$filename"
|
|
||||||
# Unzip the docx to get at the xml
|
|
||||||
unzip -o "tmp/$filename.docx" -d "tmp/$filename"
|
|
||||||
# Convert to markdown with XSL
|
|
||||||
xsltproc tools/docx-to-md.xsl "tmp/$filename/word/document.xml" | \
|
|
||||||
# Hard wrap at 80 chars at word bourdaries
|
|
||||||
fold -w 80 -s | \
|
|
||||||
# Remove trailing whitespace & save in the nostarch dir for comparison
|
|
||||||
sed -e "s/ *$//" > "nostarch/$filename.md"
|
|
||||||
done
|
|
@ -1,5 +1,6 @@
|
|||||||
digraph {
|
digraph {
|
||||||
rankdir=LR;
|
rankdir=LR;
|
||||||
|
overlap=false;
|
||||||
dpi=300.0;
|
dpi=300.0;
|
||||||
node [shape="plaintext"];
|
node [shape="plaintext"];
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
digraph {
|
digraph {
|
||||||
rankdir=LR;
|
rankdir=LR;
|
||||||
|
overlap=false;
|
||||||
dpi=300.0;
|
dpi=300.0;
|
||||||
node [shape="plaintext"];
|
node [shape="plaintext"];
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
digraph {
|
digraph {
|
||||||
rankdir=LR;
|
rankdir=LR;
|
||||||
|
overlap=false;
|
||||||
dpi=300.0;
|
dpi=300.0;
|
||||||
node [shape="plaintext"];
|
node [shape="plaintext"];
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
digraph {
|
digraph {
|
||||||
rankdir=LR;
|
rankdir=LR;
|
||||||
|
overlap=false;
|
||||||
dpi=300.0;
|
dpi=300.0;
|
||||||
node [shape="plaintext"];
|
node [shape="plaintext"];
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
digraph {
|
digraph {
|
||||||
rankdir=LR;
|
rankdir=LR;
|
||||||
|
overlap=false;
|
||||||
dpi=300.0;
|
dpi=300.0;
|
||||||
node [shape="plaintext"];
|
node [shape="plaintext"];
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
digraph {
|
digraph {
|
||||||
rankdir=LR;
|
rankdir=LR;
|
||||||
|
overlap=false;
|
||||||
dpi=300.0;
|
dpi=300.0;
|
||||||
node [shape="plaintext"];
|
node [shape="plaintext"];
|
||||||
|
|
||||||
|
24
dot/trpl15-01.dot
Normal file
24
dot/trpl15-01.dot
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
digraph {
|
||||||
|
rankdir=LR;
|
||||||
|
overlap=false;
|
||||||
|
dpi=300.0;
|
||||||
|
node [shape="plaintext"];
|
||||||
|
|
||||||
|
table0[label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
|
||||||
|
<TR><TD COLSPAN="2" SIDES="B">Cons</TD></TR>
|
||||||
|
<TR><TD>i32</TD><TD><TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
|
||||||
|
<TR><TD COLSPAN="2" SIDES="B">Cons</TD></TR>
|
||||||
|
<TR><TD>i32</TD><TD><TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
|
||||||
|
<TR><TD COLSPAN="2" SIDES="B">Cons</TD></TR>
|
||||||
|
<TR><TD>i32</TD><TD><TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
|
||||||
|
<TR><TD COLSPAN="2" SIDES="B">Cons</TD></TR>
|
||||||
|
<TR><TD>i32</TD><TD><TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
|
||||||
|
<TR><TD COLSPAN="2" SIDES="B">Cons</TD></TR>
|
||||||
|
<TR><TD>i32</TD><TD>∞</TD></TR>
|
||||||
|
</TABLE></TD></TR>
|
||||||
|
</TABLE></TD></TR>
|
||||||
|
</TABLE></TD></TR>
|
||||||
|
</TABLE></TD></TR>
|
||||||
|
</TABLE>>];
|
||||||
|
}
|
||||||
|
|
18
dot/trpl15-02.dot
Normal file
18
dot/trpl15-02.dot
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
digraph {
|
||||||
|
rankdir=LR;
|
||||||
|
overlap=false;
|
||||||
|
dpi=300.0;
|
||||||
|
node [shape="plaintext"];
|
||||||
|
|
||||||
|
table0[label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
|
||||||
|
<TR><TD COLSPAN="2" SIDES="B">Cons</TD></TR>
|
||||||
|
<TR><TD>i32</TD><TD>
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
|
||||||
|
<TR><TD SIDES="B">Box</TD></TR>
|
||||||
|
<TR><TD>usize</TD></TR>
|
||||||
|
</TABLE>
|
||||||
|
</TD></TR>
|
||||||
|
</TABLE>>];
|
||||||
|
}
|
||||||
|
|
51
dot/trpl15-03.dot
Normal file
51
dot/trpl15-03.dot
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
digraph {
|
||||||
|
rankdir=LR;
|
||||||
|
overlap=false;
|
||||||
|
dpi=300.0;
|
||||||
|
node [shape="plaintext"];
|
||||||
|
|
||||||
|
table4[label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
|
||||||
|
<TR><TD SIDES="B">b</TD><TD SIDES="B" PORT="ptr4"></TD></TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
table5[label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
|
||||||
|
<TR><TD PORT="pte4">3</TD><TD PORT="ptr5"> </TD></TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
|
||||||
|
table0[label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
|
||||||
|
<TR><TD SIDES="B">a</TD><TD SIDES="B" PORT="ptr0"></TD></TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
table1[label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
|
||||||
|
<TR><TD PORT="pte0">5</TD><TD PORT="ptr1"> </TD></TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
table2[label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
|
||||||
|
<TR><TD PORT="pte1">10</TD><TD PORT="ptr2"> </TD></TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
table3[label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
|
||||||
|
<TR><TD PORT="pte2">Nil</TD></TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
|
||||||
|
table6[label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
|
||||||
|
<TR><TD SIDES="B">c</TD><TD SIDES="B" PORT="ptr6"></TD></TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
table7[label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0">
|
||||||
|
<TR><TD PORT="pte6">4</TD><TD PORT="ptr7"> </TD></TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
|
||||||
|
edge[tailclip="false"];
|
||||||
|
table0:ptr0:c -> table1:pte0;
|
||||||
|
table1:ptr1:c -> table2:pte1;
|
||||||
|
table2:ptr2:c -> table3:pte2;
|
||||||
|
table4:ptr4:c -> table5:pte4;
|
||||||
|
table5:ptr5:c -> table1:pte0;
|
||||||
|
table6:ptr6:c -> table7:pte6;
|
||||||
|
table7:ptr7:c -> table1:pte0;
|
||||||
|
}
|
||||||
|
|
16
dot/trpl15-04.dot
Normal file
16
dot/trpl15-04.dot
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
digraph {
|
||||||
|
node[shape=record];
|
||||||
|
rankdir=LR;
|
||||||
|
|
||||||
|
l1[label="{<data> 5| <next>}"];
|
||||||
|
l2[label="{<data> 10| <next>}"];
|
||||||
|
|
||||||
|
{node[shape=point height=0] invisible_start invisible_end}
|
||||||
|
|
||||||
|
a -> l1:n;
|
||||||
|
b -> l2:n;
|
||||||
|
invisible_start:n -> l1[arrowtail=none];
|
||||||
|
invisible_start:s -> invisible_end:s[dir=none];
|
||||||
|
l1:next:c -> l2:data;
|
||||||
|
l2:next:c -> invisible_end:n[arrowhead=none];
|
||||||
|
}
|
6
listings/ch02-guessing-game-tutorial/listing-02-01/Cargo.lock
generated
Normal file
6
listings/ch02-guessing-game-tutorial/listing-02-01/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,31 @@
|
|||||||
|
// ANCHOR: all
|
||||||
|
// ANCHOR: io
|
||||||
|
use std::io;
|
||||||
|
// ANCHOR_END: io
|
||||||
|
|
||||||
|
// ANCHOR: main
|
||||||
|
fn main() {
|
||||||
|
// ANCHOR_END: main
|
||||||
|
// ANCHOR: print
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
println!("Please input your guess.");
|
||||||
|
// ANCHOR_END: print
|
||||||
|
|
||||||
|
// ANCHOR: string
|
||||||
|
let mut guess = String::new();
|
||||||
|
// ANCHOR_END: string
|
||||||
|
|
||||||
|
// ANCHOR: read
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
// ANCHOR_END: read
|
||||||
|
// ANCHOR: expect
|
||||||
|
.expect("Failed to read line");
|
||||||
|
// ANCHOR_END: expect
|
||||||
|
|
||||||
|
// ANCHOR: print_guess
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
// ANCHOR_END: print_guess
|
||||||
|
}
|
||||||
|
// ANCHOR: all
|
83
listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.lock
generated
Normal file
83
listings/ch02-guessing-game-tutorial/listing-02-02/Cargo.lock
generated
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
@ -0,0 +1,10 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
@ -0,0 +1,15 @@
|
|||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
}
|
83
listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.lock
generated
Normal file
83
listings/ch02-guessing-game-tutorial/listing-02-03/Cargo.lock
generated
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
@ -0,0 +1,10 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
@ -0,0 +1,28 @@
|
|||||||
|
// ANCHOR: all
|
||||||
|
use std::io;
|
||||||
|
// ANCHOR: ch07-04
|
||||||
|
use rand::Rng;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
// ANCHOR_END: ch07-04
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
// ANCHOR: ch07-04
|
||||||
|
let secret_number = rand::thread_rng().gen_range(1..101);
|
||||||
|
// ANCHOR_END: ch07-04
|
||||||
|
|
||||||
|
println!("The secret number is: {}", secret_number);
|
||||||
|
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
// ANCHOR: ch07-04
|
||||||
|
}
|
||||||
|
// ANCHOR_END: ch07-04
|
||||||
|
// ANCHOR_END: all
|
83
listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.lock
generated
Normal file
83
listings/ch02-guessing-game-tutorial/listing-02-04/Cargo.lock
generated
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
@ -0,0 +1,10 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
@ -0,0 +1,24 @@
|
|||||||
|
$ cargo build
|
||||||
|
Compiling libc v0.2.86
|
||||||
|
Compiling getrandom v0.2.2
|
||||||
|
Compiling cfg-if v1.0.0
|
||||||
|
Compiling ppv-lite86 v0.2.10
|
||||||
|
Compiling rand_core v0.6.2
|
||||||
|
Compiling rand_chacha v0.3.0
|
||||||
|
Compiling rand v0.8.3
|
||||||
|
Compiling guessing_game v0.1.0 (file:///projects/guessing_game)
|
||||||
|
error[E0308]: mismatched types
|
||||||
|
--> src/main.rs:22:21
|
||||||
|
|
|
||||||
|
22 | match guess.cmp(&secret_number) {
|
||||||
|
| ^^^^^^^^^^^^^^ expected struct `String`, found integer
|
||||||
|
|
|
||||||
|
= note: expected reference `&String`
|
||||||
|
found reference `&{integer}`
|
||||||
|
|
||||||
|
error: aborting due to previous error
|
||||||
|
|
||||||
|
For more information about this error, try `rustc --explain E0308`.
|
||||||
|
error: could not compile `guessing_game`
|
||||||
|
|
||||||
|
To learn more, run the command again with --verbose.
|
@ -0,0 +1,32 @@
|
|||||||
|
// ANCHOR: here
|
||||||
|
use rand::Rng;
|
||||||
|
use std::cmp::Ordering;
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
// --snip--
|
||||||
|
// ANCHOR_END: here
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
let secret_number = rand::thread_rng().gen_range(1..101);
|
||||||
|
|
||||||
|
println!("The secret number is: {}", secret_number);
|
||||||
|
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
// ANCHOR: here
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
|
||||||
|
match guess.cmp(&secret_number) {
|
||||||
|
Ordering::Less => println!("Too small!"),
|
||||||
|
Ordering::Greater => println!("Too big!"),
|
||||||
|
Ordering::Equal => println!("You win!"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ANCHOR_END: here
|
83
listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.lock
generated
Normal file
83
listings/ch02-guessing-game-tutorial/listing-02-05/Cargo.lock
generated
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
@ -0,0 +1,10 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
@ -0,0 +1,45 @@
|
|||||||
|
use rand::Rng;
|
||||||
|
use std::cmp::Ordering;
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
let secret_number = rand::thread_rng().gen_range(1..101);
|
||||||
|
|
||||||
|
println!("The secret number is: {}", secret_number);
|
||||||
|
|
||||||
|
loop {
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
// ANCHOR: here
|
||||||
|
// --snip--
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
|
||||||
|
// ANCHOR: ch19
|
||||||
|
let guess: u32 = match guess.trim().parse() {
|
||||||
|
Ok(num) => num,
|
||||||
|
Err(_) => continue,
|
||||||
|
};
|
||||||
|
// ANCHOR_END: ch19
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
|
||||||
|
// --snip--
|
||||||
|
// ANCHOR_END: here
|
||||||
|
|
||||||
|
match guess.cmp(&secret_number) {
|
||||||
|
Ordering::Less => println!("Too small!"),
|
||||||
|
Ordering::Greater => println!("Too big!"),
|
||||||
|
Ordering::Equal => {
|
||||||
|
println!("You win!");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
83
listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.lock
generated
Normal file
83
listings/ch02-guessing-game-tutorial/listing-02-06/Cargo.lock
generated
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
@ -0,0 +1,10 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
@ -0,0 +1,35 @@
|
|||||||
|
use rand::Rng;
|
||||||
|
use std::cmp::Ordering;
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
let secret_number = rand::thread_rng().gen_range(1..101);
|
||||||
|
|
||||||
|
loop {
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
|
||||||
|
let guess: u32 = match guess.trim().parse() {
|
||||||
|
Ok(num) => num,
|
||||||
|
Err(_) => continue,
|
||||||
|
};
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
|
||||||
|
match guess.cmp(&secret_number) {
|
||||||
|
Ordering::Less => println!("Too small!"),
|
||||||
|
Ordering::Greater => println!("Too big!"),
|
||||||
|
Ordering::Equal => {
|
||||||
|
println!("You win!");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
6
listings/ch02-guessing-game-tutorial/no-listing-01-cargo-new/Cargo.lock
generated
Normal file
6
listings/ch02-guessing-game-tutorial/no-listing-01-cargo-new/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,5 @@
|
|||||||
|
$ cargo run
|
||||||
|
Compiling guessing_game v0.1.0 (file:///projects/guessing_game)
|
||||||
|
Finished dev [unoptimized + debuginfo] target(s) in 1.50s
|
||||||
|
Running `target/debug/guessing_game`
|
||||||
|
Hello, world!
|
@ -0,0 +1,3 @@
|
|||||||
|
fn main() {
|
||||||
|
println!("Hello, world!");
|
||||||
|
}
|
6
listings/ch02-guessing-game-tutorial/no-listing-02-without-expect/Cargo.lock
generated
Normal file
6
listings/ch02-guessing-game-tutorial/no-listing-02-without-expect/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,9 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,14 @@
|
|||||||
|
$ cargo build
|
||||||
|
Compiling guessing_game v0.1.0 (file:///projects/guessing_game)
|
||||||
|
warning: unused `Result` that must be used
|
||||||
|
--> src/main.rs:10:5
|
||||||
|
|
|
||||||
|
10 | io::stdin().read_line(&mut guess);
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
||||||
|
= note: `#[warn(unused_must_use)]` on by default
|
||||||
|
= note: this `Result` may be an `Err` variant, which should be handled
|
||||||
|
|
||||||
|
warning: 1 warning emitted
|
||||||
|
|
||||||
|
Finished dev [unoptimized + debuginfo] target(s) in 0.59s
|
@ -0,0 +1,13 @@
|
|||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin().read_line(&mut guess);
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
}
|
83
listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.lock
generated
Normal file
83
listings/ch02-guessing-game-tutorial/no-listing-03-convert-string-to-number/Cargo.lock
generated
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
@ -0,0 +1,10 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
@ -0,0 +1,33 @@
|
|||||||
|
use rand::Rng;
|
||||||
|
use std::cmp::Ordering;
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
let secret_number = rand::thread_rng().gen_range(1..101);
|
||||||
|
|
||||||
|
println!("The secret number is: {}", secret_number);
|
||||||
|
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
// ANCHOR: here
|
||||||
|
// --snip--
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
|
||||||
|
let guess: u32 = guess.trim().parse().expect("Please type a number!");
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
|
||||||
|
match guess.cmp(&secret_number) {
|
||||||
|
Ordering::Less => println!("Too small!"),
|
||||||
|
Ordering::Greater => println!("Too big!"),
|
||||||
|
Ordering::Equal => println!("You win!"),
|
||||||
|
}
|
||||||
|
// ANCHOR_END: here
|
||||||
|
}
|
83
listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.lock
generated
Normal file
83
listings/ch02-guessing-game-tutorial/no-listing-04-looping/Cargo.lock
generated
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
@ -0,0 +1,10 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
@ -0,0 +1,40 @@
|
|||||||
|
use rand::Rng;
|
||||||
|
use std::cmp::Ordering;
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
let secret_number = rand::thread_rng().gen_range(1..101);
|
||||||
|
|
||||||
|
// ANCHOR: here
|
||||||
|
// --snip--
|
||||||
|
|
||||||
|
println!("The secret number is: {}", secret_number);
|
||||||
|
|
||||||
|
loop {
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
// --snip--
|
||||||
|
|
||||||
|
// ANCHOR_END: here
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
|
||||||
|
let guess: u32 = guess.trim().parse().expect("Please type a number!");
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
|
||||||
|
// ANCHOR: here
|
||||||
|
match guess.cmp(&secret_number) {
|
||||||
|
Ordering::Less => println!("Too small!"),
|
||||||
|
Ordering::Greater => println!("Too big!"),
|
||||||
|
Ordering::Equal => println!("You win!"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ANCHOR_END: here
|
83
listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.lock
generated
Normal file
83
listings/ch02-guessing-game-tutorial/no-listing-05-quitting/Cargo.lock
generated
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "cfg-if"
|
||||||
|
version = "1.0.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "getrandom"
|
||||||
|
version = "0.2.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
|
||||||
|
dependencies = [
|
||||||
|
"cfg-if",
|
||||||
|
"libc",
|
||||||
|
"wasi",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"rand",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "libc"
|
||||||
|
version = "0.2.86"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "ppv-lite86"
|
||||||
|
version = "0.2.10"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand"
|
||||||
|
version = "0.8.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
|
||||||
|
dependencies = [
|
||||||
|
"libc",
|
||||||
|
"rand_chacha",
|
||||||
|
"rand_core",
|
||||||
|
"rand_hc",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_chacha"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
|
||||||
|
dependencies = [
|
||||||
|
"ppv-lite86",
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_core"
|
||||||
|
version = "0.6.2"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
|
||||||
|
dependencies = [
|
||||||
|
"getrandom",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rand_hc"
|
||||||
|
version = "0.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
|
||||||
|
dependencies = [
|
||||||
|
"rand_core",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasi"
|
||||||
|
version = "0.10.2+wasi-snapshot-preview1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
|
@ -0,0 +1,10 @@
|
|||||||
|
[package]
|
||||||
|
name = "guessing_game"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rand = "0.8.3"
|
@ -0,0 +1,38 @@
|
|||||||
|
use rand::Rng;
|
||||||
|
use std::cmp::Ordering;
|
||||||
|
use std::io;
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
println!("Guess the number!");
|
||||||
|
|
||||||
|
let secret_number = rand::thread_rng().gen_range(1..101);
|
||||||
|
|
||||||
|
println!("The secret number is: {}", secret_number);
|
||||||
|
|
||||||
|
loop {
|
||||||
|
println!("Please input your guess.");
|
||||||
|
|
||||||
|
let mut guess = String::new();
|
||||||
|
|
||||||
|
io::stdin()
|
||||||
|
.read_line(&mut guess)
|
||||||
|
.expect("Failed to read line");
|
||||||
|
|
||||||
|
let guess: u32 = guess.trim().parse().expect("Please type a number!");
|
||||||
|
|
||||||
|
println!("You guessed: {}", guess);
|
||||||
|
|
||||||
|
// ANCHOR: here
|
||||||
|
// --snip--
|
||||||
|
|
||||||
|
match guess.cmp(&secret_number) {
|
||||||
|
Ordering::Less => println!("Too small!"),
|
||||||
|
Ordering::Greater => println!("Too big!"),
|
||||||
|
Ordering::Equal => {
|
||||||
|
println!("You win!");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// ANCHOR_END: here
|
6
listings/ch03-common-programming-concepts/listing-03-01/Cargo.lock
generated
Normal file
6
listings/ch03-common-programming-concepts/listing-03-01/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "functions"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "functions"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,3 @@
|
|||||||
|
fn main() {
|
||||||
|
let y = 6;
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/listing-03-02/Cargo.lock
generated
Normal file
6
listings/ch03-common-programming-concepts/listing-03-02/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "branches"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "branches"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,5 @@
|
|||||||
|
$ cargo run
|
||||||
|
Compiling branches v0.1.0 (file:///projects/branches)
|
||||||
|
Finished dev [unoptimized + debuginfo] target(s) in 0.30s
|
||||||
|
Running `target/debug/branches`
|
||||||
|
The value of number is: 5
|
@ -0,0 +1,6 @@
|
|||||||
|
fn main() {
|
||||||
|
let condition = true;
|
||||||
|
let number = if condition { 5 } else { 6 };
|
||||||
|
|
||||||
|
println!("The value of number is: {}", number);
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/listing-03-03/Cargo.lock
generated
Normal file
6
listings/ch03-common-programming-concepts/listing-03-03/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "loops"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "loops"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,11 @@
|
|||||||
|
fn main() {
|
||||||
|
let mut number = 3;
|
||||||
|
|
||||||
|
while number != 0 {
|
||||||
|
println!("{}!", number);
|
||||||
|
|
||||||
|
number -= 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("LIFTOFF!!!");
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/listing-03-04/Cargo.lock
generated
Normal file
6
listings/ch03-common-programming-concepts/listing-03-04/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "loops"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "loops"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,9 @@
|
|||||||
|
$ cargo run
|
||||||
|
Compiling loops v0.1.0 (file:///projects/loops)
|
||||||
|
Finished dev [unoptimized + debuginfo] target(s) in 0.32s
|
||||||
|
Running `target/debug/loops`
|
||||||
|
the value is: 10
|
||||||
|
the value is: 20
|
||||||
|
the value is: 30
|
||||||
|
the value is: 40
|
||||||
|
the value is: 50
|
@ -0,0 +1,10 @@
|
|||||||
|
fn main() {
|
||||||
|
let a = [10, 20, 30, 40, 50];
|
||||||
|
let mut index = 0;
|
||||||
|
|
||||||
|
while index < 5 {
|
||||||
|
println!("the value is: {}", a[index]);
|
||||||
|
|
||||||
|
index += 1;
|
||||||
|
}
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/listing-03-05/Cargo.lock
generated
Normal file
6
listings/ch03-common-programming-concepts/listing-03-05/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "loops"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "loops"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,7 @@
|
|||||||
|
fn main() {
|
||||||
|
let a = [10, 20, 30, 40, 50];
|
||||||
|
|
||||||
|
for element in a.iter() {
|
||||||
|
println!("the value is: {}", element);
|
||||||
|
}
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-01-variables-are-immutable/Cargo.lock
generated
Normal file
6
listings/ch03-common-programming-concepts/no-listing-01-variables-are-immutable/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,20 @@
|
|||||||
|
$ cargo run
|
||||||
|
Compiling variables v0.1.0 (file:///projects/variables)
|
||||||
|
error[E0384]: cannot assign twice to immutable variable `x`
|
||||||
|
--> src/main.rs:4:5
|
||||||
|
|
|
||||||
|
2 | let x = 5;
|
||||||
|
| -
|
||||||
|
| |
|
||||||
|
| first assignment to `x`
|
||||||
|
| help: make this binding mutable: `mut x`
|
||||||
|
3 | println!("The value of x is: {}", x);
|
||||||
|
4 | x = 6;
|
||||||
|
| ^^^^^ cannot assign twice to immutable variable
|
||||||
|
|
||||||
|
error: aborting due to previous error
|
||||||
|
|
||||||
|
For more information about this error, try `rustc --explain E0384`.
|
||||||
|
error: could not compile `variables`
|
||||||
|
|
||||||
|
To learn more, run the command again with --verbose.
|
@ -0,0 +1,6 @@
|
|||||||
|
fn main() {
|
||||||
|
let x = 5;
|
||||||
|
println!("The value of x is: {}", x);
|
||||||
|
x = 6;
|
||||||
|
println!("The value of x is: {}", x);
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-02-adding-mut/Cargo.lock
generated
Normal file
6
listings/ch03-common-programming-concepts/no-listing-02-adding-mut/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,6 @@
|
|||||||
|
$ cargo run
|
||||||
|
Compiling variables v0.1.0 (file:///projects/variables)
|
||||||
|
Finished dev [unoptimized + debuginfo] target(s) in 0.30s
|
||||||
|
Running `target/debug/variables`
|
||||||
|
The value of x is: 5
|
||||||
|
The value of x is: 6
|
@ -0,0 +1,6 @@
|
|||||||
|
fn main() {
|
||||||
|
let mut x = 5;
|
||||||
|
println!("The value of x is: {}", x);
|
||||||
|
x = 6;
|
||||||
|
println!("The value of x is: {}", x);
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-03-shadowing/Cargo.lock
generated
Normal file
6
listings/ch03-common-programming-concepts/no-listing-03-shadowing/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,5 @@
|
|||||||
|
$ cargo run
|
||||||
|
Compiling variables v0.1.0 (file:///projects/variables)
|
||||||
|
Finished dev [unoptimized + debuginfo] target(s) in 0.31s
|
||||||
|
Running `target/debug/variables`
|
||||||
|
The value of x is: 12
|
@ -0,0 +1,9 @@
|
|||||||
|
fn main() {
|
||||||
|
let x = 5;
|
||||||
|
|
||||||
|
let x = x + 1;
|
||||||
|
|
||||||
|
let x = x * 2;
|
||||||
|
|
||||||
|
println!("The value of x is: {}", x);
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-04-shadowing-can-change-types/Cargo.lock
generated
Normal file
6
listings/ch03-common-programming-concepts/no-listing-04-shadowing-can-change-types/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,6 @@
|
|||||||
|
fn main() {
|
||||||
|
// ANCHOR: here
|
||||||
|
let spaces = " ";
|
||||||
|
let spaces = spaces.len();
|
||||||
|
// ANCHOR_END: here
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-05-mut-cant-change-types/Cargo.lock
generated
Normal file
6
listings/ch03-common-programming-concepts/no-listing-05-mut-cant-change-types/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "variables"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,14 @@
|
|||||||
|
$ cargo run
|
||||||
|
Compiling variables v0.1.0 (file:///projects/variables)
|
||||||
|
error[E0308]: mismatched types
|
||||||
|
--> src/main.rs:3:14
|
||||||
|
|
|
||||||
|
3 | spaces = spaces.len();
|
||||||
|
| ^^^^^^^^^^^^ expected `&str`, found `usize`
|
||||||
|
|
||||||
|
error: aborting due to previous error
|
||||||
|
|
||||||
|
For more information about this error, try `rustc --explain E0308`.
|
||||||
|
error: could not compile `variables`
|
||||||
|
|
||||||
|
To learn more, run the command again with --verbose.
|
@ -0,0 +1,6 @@
|
|||||||
|
fn main() {
|
||||||
|
// ANCHOR: here
|
||||||
|
let mut spaces = " ";
|
||||||
|
spaces = spaces.len();
|
||||||
|
// ANCHOR_END: here
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-06-floating-point/Cargo.lock
generated
Normal file
6
listings/ch03-common-programming-concepts/no-listing-06-floating-point/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "floating-point"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "floating-point"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,5 @@
|
|||||||
|
fn main() {
|
||||||
|
let x = 2.0; // f64
|
||||||
|
|
||||||
|
let y: f32 = 3.0; // f32
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-07-numeric-operations/Cargo.lock
generated
Normal file
6
listings/ch03-common-programming-concepts/no-listing-07-numeric-operations/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "numeric-operations"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "numeric-operations"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,16 @@
|
|||||||
|
fn main() {
|
||||||
|
// addition
|
||||||
|
let sum = 5 + 10;
|
||||||
|
|
||||||
|
// subtraction
|
||||||
|
let difference = 95.5 - 4.3;
|
||||||
|
|
||||||
|
// multiplication
|
||||||
|
let product = 4 * 30;
|
||||||
|
|
||||||
|
// division
|
||||||
|
let quotient = 56.7 / 32.2;
|
||||||
|
|
||||||
|
// remainder
|
||||||
|
let remainder = 43 % 5;
|
||||||
|
}
|
6
listings/ch03-common-programming-concepts/no-listing-08-boolean/Cargo.lock
generated
Normal file
6
listings/ch03-common-programming-concepts/no-listing-08-boolean/Cargo.lock
generated
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# This file is automatically @generated by Cargo.
|
||||||
|
# It is not intended for manual editing.
|
||||||
|
[[package]]
|
||||||
|
name = "boolean"
|
||||||
|
version = "0.1.0"
|
||||||
|
|
@ -0,0 +1,7 @@
|
|||||||
|
[package]
|
||||||
|
name = "boolean"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Your Name <you@example.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
[dependencies]
|
@ -0,0 +1,5 @@
|
|||||||
|
fn main() {
|
||||||
|
let t = true;
|
||||||
|
|
||||||
|
let f: bool = false; // with explicit type annotation
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user