Ver código fonte

README, lib.rs: Use ? operator in documentation

Johannes Hofmann 5 anos atrás
pai
commit
df3d8b2a21
2 arquivos alterados com 35 adições e 37 exclusões
  1. 27
    33
      README.md
  2. 8
    4
      src/lib.rs

+ 27
- 33
README.md Ver arquivo

@@ -28,48 +28,42 @@ extern crate osmpbf;
28 28
 Here's a simple example that counts all the ways in a file:
29 29
 
30 30
 ```rust
31
-extern crate osmpbf;
32
-
33
-use osmpbf::*;
31
+use osmpbf::{ElementReader, Element};
34 32
 
35
-fn main() {
36
-    let reader = ElementReader::from_path("tests/test.osm.pbf").unwrap();
37
-    let mut ways = 0_u64;
33
+let reader = ElementReader::from_path("tests/test.osm.pbf")?;
34
+let mut ways = 0_u64;
38 35
 
39
-    // Increment the counter by one for each way.
40
-    reader.for_each(|element| {
41
-        if let Element::Way(_) = element {
42
-            ways += 1;
43
-        }
44
-    }).unwrap();
36
+// Increment the counter by one for each way.
37
+reader.for_each(|element| {
38
+    if let Element::Way(_) = element {
39
+        ways += 1;
40
+    }
41
+})?;
45 42
 
46
-    println!("Number of ways: {}", ways);
47
-}
43
+println!("Number of ways: {}", ways);
48 44
 ```
49 45
 
50 46
 In this second example, we also count the ways but make use of all cores by
51 47
 decoding the file in parallel:
52 48
 
53 49
 ```rust
54
-use osmpbf::*;
55
-
56
-fn main() {
57
-    let reader = ElementReader::from_path("tests/test.osm.pbf").unwrap();
58
-
59
-    // Count the ways
60
-    let ways = reader.par_map_reduce(
61
-        |element| {
62
-            match element {
63
-                Element::Way(_) => 1,
64
-                _ => 0,
65
-            }
66
-        },
67
-        || 0_u64,      // Zero is the identity value for addition
68
-        |a, b| a + b   // Sum the partial results
69
-    ).unwrap();
70
-
71
-    println!("Number of ways: {}", ways);
72
-}
50
+use osmpbf::{ElementReader, Element};
51
+
52
+let reader = ElementReader::from_path("tests/test.osm.pbf")?;
53
+
54
+// Count the ways
55
+let ways = reader.par_map_reduce(
56
+    |element| {
57
+        match element {
58
+            Element::Way(_) => 1,
59
+            _ => 0,
60
+        }
61
+    },
62
+    || 0_u64,      // Zero is the identity value for addition
63
+    |a, b| a + b   // Sum the partial results
64
+)?;
65
+
66
+println!("Number of ways: {}", ways);
73 67
 ```
74 68
 
75 69
 ## The PBF format

+ 8
- 4
src/lib.rs Ver arquivo

@@ -24,7 +24,7 @@ file:
24 24
 ```rust
25 25
 use osmpbf::{ElementReader, Element};
26 26
 
27
-let reader = ElementReader::from_path("tests/test.osm.pbf").unwrap();
27
+let reader = ElementReader::from_path("tests/test.osm.pbf")?;
28 28
 let mut ways = 0_u64;
29 29
 
30 30
 // Increment the counter by one for each way.
@@ -32,9 +32,11 @@ reader.for_each(|element| {
32 32
     if let Element::Way(_) = element {
33 33
         ways += 1;
34 34
     }
35
-}).unwrap();
35
+})?;
36 36
 
37 37
 println!("Number of ways: {}", ways);
38
+# assert_eq!(ways, 1);
39
+# Ok::<(), std::io::Error>(())
38 40
 ```
39 41
 
40 42
 ## Example: Count ways in parallel
@@ -45,7 +47,7 @@ decoding the file in parallel:
45 47
 ```rust
46 48
 use osmpbf::{ElementReader, Element};
47 49
 
48
-let reader = ElementReader::from_path("tests/test.osm.pbf").unwrap();
50
+let reader = ElementReader::from_path("tests/test.osm.pbf")?;
49 51
 
50 52
 // Count the ways
51 53
 let ways = reader.par_map_reduce(
@@ -57,9 +59,11 @@ let ways = reader.par_map_reduce(
57 59
     },
58 60
     || 0_u64,      // Zero is the identity value for addition
59 61
     |a, b| a + b   // Sum the partial results
60
-).unwrap();
62
+)?;
61 63
 
62 64
 println!("Number of ways: {}", ways);
65
+# assert_eq!(ways, 1);
66
+# Ok::<(), std::io::Error>(())
63 67
 ```
64 68
 */
65 69