Skip to content

Commit

Permalink
Merge pull request #355 from damoasda/master
Browse files Browse the repository at this point in the history
Codeblöcke in Kapitel 12 aktualisieren
  • Loading branch information
damoasda authored Nov 26, 2023
2 parents f178521 + 6fd100c commit 0f89483
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 35 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Das Buch „Die Programmiersprache Rust“ ist eine deutsche Gemeinschafts-Übersetzung
des [offiziellen Rust-Buchs][rustbook-en].
Es enthält alle Änderungen des englischen Originals bis einschließlich zum **01.11.2023**.
Es enthält alle Änderungen des englischen Originals bis einschließlich zum **09.11.2023**.

## [📖 > Hier online lesen < 📖][rustbook-de]

Expand Down
20 changes: 10 additions & 10 deletions src/ch12-04-testing-the-librarys-functionality.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Codeblock 12-15 zeigt diesen Test, der sich noch nicht kompilieren lässt.

<span class="filename">Dateiname: src/lib.rs</span>

```rust,does_not_compile
```rust,ignore,does_not_compile
# use std::error::Error;
# use std::fs;
#
Expand All @@ -51,7 +51,7 @@ Codeblock 12-15 zeigt diesen Test, der sich noch nicht kompilieren lässt.
# }
#
# impl Config {
# pub fn new(args: &[String]) -> Result<Config, &'static str> {
# pub fn build(args: &[String]) -> Result<Config, &'static str> {
# if args.len() < 3 {
# return Err("Nicht genügend Argumente");
# }
Expand Down Expand Up @@ -265,7 +265,7 @@ Beachte, dass dies noch nicht kompiliert.

<span class="filename">Dateiname: src/lib.rs</span>

```rust,does_not_compile
```rust,ignore,does_not_compile
# use std::error::Error;
# use std::fs;
#
Expand All @@ -275,7 +275,7 @@ Beachte, dass dies noch nicht kompiliert.
# }
#
# impl Config {
# pub fn new(args: &[String]) -> Result<Config, &'static str> {
# pub fn build(args: &[String]) -> Result<Config, &'static str> {
# if args.len() < 3 {
# return Err("Nicht genügend Argumente");
# }
Expand Down Expand Up @@ -335,7 +335,7 @@ dies noch nicht kompiliert werden kann.

<span class="filename">Dateiname: src/lib.rs</span>

```rust,does_not_compile
```rust,ignore,does_not_compile
# use std::error::Error;
# use std::fs;
#
Expand All @@ -345,7 +345,7 @@ dies noch nicht kompiliert werden kann.
# }
#
# impl Config {
# pub fn new(args: &[String]) -> Result<Config, &'static str> {
# pub fn build(args: &[String]) -> Result<Config, &'static str> {
# if args.len() < 3 {
# return Err("Nicht genügend Argumente");
# }
Expand Down Expand Up @@ -405,7 +405,7 @@ einen veränderbaren Vektor vor der `for`-Schleife erstellen und die

<span class="filename">Dateiname: src/lib.rs</span>

```rust
```rust,ignore
# use std::error::Error;
# use std::fs;
#
Expand All @@ -415,7 +415,7 @@ einen veränderbaren Vektor vor der `for`-Schleife erstellen und die
# }
#
# impl Config {
# pub fn new(args: &[String]) -> Result<Config, &'static str> {
# pub fn build(args: &[String]) -> Result<Config, &'static str> {
# if args.len() < 3 {
# return Err("Nicht genügend Argumente");
# }
Expand Down Expand Up @@ -511,7 +511,7 @@ den Wert `contents`, den `run` aus der Datei liest, an die Funktion `search`

<span class="filename">Dateiname: src/lib.rs</span>

```rust
```rust,ignore
# use std::error::Error;
# use std::fs;
#
Expand All @@ -521,7 +521,7 @@ den Wert `contents`, den `run` aus der Datei liest, an die Funktion `search`
# }
#
# impl Config {
# pub fn new(args: &[String]) -> Result<Config, &'static str> {
# pub fn build(args: &[String]) -> Result<Config, &'static str> {
# if args.len() < 3 {
# return Err("Nicht genügend Argumente");
# }
Expand Down
44 changes: 22 additions & 22 deletions src/ch12-05-working-with-environment-variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ beiden Tests zu verdeutlichen, wie in Codeblock 12-20 gezeigt wird.
# }
#
# impl Config {
# pub fn new(args: &[String]) -> Result<Config, &'static str> {
# pub fn build(args: &[String]) -> Result<Config, &'static str> {
# if args.len() < 3 {
# return Err("Nicht genügend Argumente");
# }
Expand Down Expand Up @@ -144,7 +144,7 @@ wir prüfen, ob die Zeile die Abfrage enthält.
# }
#
# impl Config {
# pub fn new(args: &[String]) -> Result<Config, &'static str> {
# pub fn build(args: &[String]) -> Result<Config, &'static str> {
# if args.len() < 3 {
# return Err("Nicht genügend Argumente");
# }
Expand Down Expand Up @@ -293,18 +293,18 @@ nirgendwo initialisiert haben:

<span class="filename">Dateiname: src/lib.rs</span>

```rust,does_not_compile
```rust,ignore,does_not_compile
# use std::error::Error;
# use std::fs;
#
pub struct Config {
pub query: String,
pub file_path: String,
pub case_sensitive: bool,
pub ignore_case: bool,
}
#
# impl Config {
# pub fn new(args: &[String]) -> Result<Config, &'static str> {
# pub fn build(args: &[String]) -> Result<Config, &'static str> {
# if args.len() < 3 {
# return Err("Nicht genügend Argumente");
# }
Expand All @@ -319,10 +319,10 @@ pub struct Config {
# pub fn run(config: Config) -> Result<(), Box<dyn Error>> {
# let contents = fs::read_to_string(config.file_path)?;
#
# let results = if config.case_sensitive {
# search(&config.query, &contents)
# } else {
# let results = if config.ignore_case {
# search_case_insensitive(&config.query, &contents)
# } else {
# search(&config.query, &contents)
# };
#
# for line in results {
Expand Down Expand Up @@ -401,18 +401,18 @@ Codeblock 12-22 gezeigt. Dies kompiliert noch immer nicht.

<span class="filename">Dateiname: src/lib.rs</span>

```rust,does_not_compile
```rust,ignore,does_not_compile
# use std::error::Error;
# use std::fs;
#
# pub struct Config {
# pub query: String,
# pub file_path: String,
# pub case_sensitive: bool,
# pub ignore_case: bool,
# }
#
# impl Config {
# pub fn new(args: &[String]) -> Result<Config, &'static str> {
# pub fn build(args: &[String]) -> Result<Config, &'static str> {
# if args.len() < 3 {
# return Err("Nicht genügend Argumente");
# }
Expand All @@ -427,10 +427,10 @@ Codeblock 12-22 gezeigt. Dies kompiliert noch immer nicht.
pub fn run(config: Config) -> Result<(), Box<dyn Error>> {
let contents = fs::read_to_string(config.file_path)?;
let results = if config.case_sensitive {
search(&config.query, &contents)
} else {
let results = if config.ignore_case {
search_case_insensitive(&config.query, &contents)
} else {
search(&config.query, &contents)
};
for line in results {
Expand Down Expand Up @@ -523,35 +523,35 @@ use std::env;
# pub struct Config {
# pub query: String,
# pub file_path: String,
# pub case_sensitive: bool,
# pub ignore_case: bool,
# }
#
impl Config {
pub fn new(args: &[String]) -> Result<Config, &'static str> {
pub fn build(args: &[String]) -> Result<Config, &'static str> {
if args.len() < 3 {
return Err("Nicht genügend Argumente");
}
let query = args[1].clone();
let file_path = args[2].clone();
let case_sensitive = env::var("IGNORE_CASE").is_err();
let ignore_case = env::var("IGNORE_CASE").is_ok();
Ok(Config {
query,
file_path,
case_sensitive,
ignore_case,
})
}
}
#
# pub fn run(config: Config) -> Result<(), Box<dyn Error>> {
# let contents = fs::read_to_string(config.file_path)?;
#
# let results = if config.case_sensitive {
# search(&config.query, &contents)
# } else {
# let results = if config.ignore_case {
# search_case_insensitive(&config.query, &contents)
# } else {
# search(&config.query, &contents)
# };
#
# for line in results {
Expand Down Expand Up @@ -692,7 +692,7 @@ To tell your name the livelong day
To an admiring bog!
```

Ausgezeichnet, wir haben auch Zeilen mit „to“! Unser `minigrep`-Programm kann
Ausgezeichnet, wir haben auch Zeilen mit „To“! Unser `minigrep`-Programm kann
jetzt ohne Berücksichtigung von Groß-/Kleinschreibung suchen, gesteuert durch
eine Umgebungsvariable. Jetzt weißt du, wie man Optionen verwaltet, die
entweder mit Kommandozeilenargumenten oder Umgebungsvariablen gesetzt werden.
Expand Down
3 changes: 1 addition & 2 deletions src/ch12-06-writing-to-stderr-instead-of-stdout.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,14 +72,13 @@ stattdessen `eprintln!` verwenden.
fn main() {
let args: Vec<String> = env::args().collect();
let config = Config::new(&args).unwrap_or_else(|err| {
let config = Config::build(&args).unwrap_or_else(|err| {
eprintln!("Fehler beim Parsen der Argumente: {err}");
process::exit(1);
});
if let Err(e) = minigrep::run(config) {
eprintln!("Anwendungsfehler: {e}");
process::exit(1);
}
}
Expand Down

0 comments on commit 0f89483

Please sign in to comment.