about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2015-03-31 09:04:39 +0530
committerManish Goregaokar <manishsmail@gmail.com>2015-03-31 09:04:39 +0530
commit7afc7d3e3566c1e1f8b770cf34ec7e50e045eb69 (patch)
tree0973970d927974f87fe9debdeacf169708d17e0a /src
parent57938041c18ee1c1bef362e60f24f5b2d3a46213 (diff)
parent1026b064429f81ed5358abf501098e3aef21d07d (diff)
downloadrust-7afc7d3e3566c1e1f8b770cf34ec7e50e045eb69.tar.gz
rust-7afc7d3e3566c1e1f8b770cf34ec7e50e045eb69.zip
Rollup merge of #23869 - tshepang:more-complete-builder-pattern-example, r=alexcrichton
This makes some use of `x` and `y`, instead of setting them to the same value.
Diffstat (limited to 'src')
-rw-r--r--src/doc/trpl/method-syntax.md24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/doc/trpl/method-syntax.md b/src/doc/trpl/method-syntax.md
index 85114b40a90..18542e58bbf 100644
--- a/src/doc/trpl/method-syntax.md
+++ b/src/doc/trpl/method-syntax.md
@@ -181,17 +181,23 @@ impl Circle {
 }
 
 struct CircleBuilder {
-    coordinate: f64,
+    x: f64,
+    y: f64,
     radius: f64,
 }
 
 impl CircleBuilder {
     fn new() -> CircleBuilder {
-        CircleBuilder { coordinate: 0.0, radius: 0.0, }
+        CircleBuilder { x: 0.0, y: 0.0, radius: 0.0, }
+    }
+
+    fn x(&mut self, coordinate: f64) -> &mut CircleBuilder {
+        self.x = coordinate;
+        self
     }
 
-    fn coordinate(&mut self, coordinate: f64) -> &mut CircleBuilder {
-        self.coordinate = coordinate;
+    fn y(&mut self, coordinate: f64) -> &mut CircleBuilder {
+        self.x = coordinate;
         self
     }
 
@@ -201,18 +207,20 @@ impl CircleBuilder {
     }
 
     fn finalize(&self) -> Circle {
-        Circle { x: self.coordinate, y: self.coordinate, radius: self.radius }
+        Circle { x: self.x, y: self.y, radius: self.radius }
     }
 }
 
 fn main() {
     let c = CircleBuilder::new()
-                .coordinate(10.0)
-                .radius(5.0)
+                .x(1.0)
+                .y(2.0)
+                .radius(2.0)
                 .finalize();
 
-
     println!("area: {}", c.area());
+    println!("x: {}", c.x);
+    println!("y: {}", c.y);
 }
 ```