projects
/
rust-101.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ff4d137
)
part 08: new exercise, fix numbering
author
Ralf Jung
<post@ralfj.de>
Tue, 7 Jul 2015 11:27:41 +0000
(13:27 +0200)
committer
Ralf Jung
<post@ralfj.de>
Tue, 7 Jul 2015 11:27:41 +0000
(13:27 +0200)
src/part08.rs
patch
|
blob
|
history
workspace/src/part08.rs
patch
|
blob
|
history
diff --git
a/src/part08.rs
b/src/part08.rs
index cacff46862b5649cb1bcc144189b7522db6b524e..630da427dfec70d2dad9f1920579b2b4277faf8e 100644
(file)
--- a/
src/part08.rs
+++ b/
src/part08.rs
@@
-101,6
+101,8
@@
impl<'a, 'b> ops::Add<&'a BigInt> for &'b BigInt {
}
}
}
}
+// **Exercise 08.4**: Implement the two missing combinations of arguments for `Add`. You should not have to duplicate the implementation.
+
// ## Modules
//@ As you learned, tests can be written right in the middle of your development in Rust. However, it is
//@ considered good style to bundle all tests together. This is particularly useful in cases where
// ## Modules
//@ As you learned, tests can be written right in the middle of your development in Rust. However, it is
//@ considered good style to bundle all tests together. This is particularly useful in cases where
@@
-117,7
+119,7
@@
mod tests {
let b2 = BigInt::from_vec(vec![0, 1]);
assert_eq!(&b1 + &b2, BigInt::from_vec(vec![1 << 32, 1]));
let b2 = BigInt::from_vec(vec![0, 1]);
assert_eq!(&b1 + &b2, BigInt::from_vec(vec![1 << 32, 1]));
- // **Exercise 08.
4
**: Add some more cases to this test.
+ // **Exercise 08.
5
**: Add some more cases to this test.
}
}
//@ As already mentioned, outside of the module, only those items declared public with `pub` may be used. Submodules can access
}
}
//@ As already mentioned, outside of the module, only those items declared public with `pub` may be used. Submodules can access
@@
-140,7
+142,7
@@
mod tests {
//@ from other files. This ensures that the directory structure mirrors the structure of the modules, with `mod.rs`, `lib.rs`
//@ and `main.rs` representing a directory or crate itself (similar to, e.g., `__init__.py` in Python).
//@ from other files. This ensures that the directory structure mirrors the structure of the modules, with `mod.rs`, `lib.rs`
//@ and `main.rs` representing a directory or crate itself (similar to, e.g., `__init__.py` in Python).
-// **Exercise 08.
4
**: Write a subtraction function, and testcases for it. Decide for yourself how you want to handle negative results.
+// **Exercise 08.
6
**: Write a subtraction function, and testcases for it. Decide for yourself how you want to handle negative results.
// For example, you may want to return an `Option`, to panic, or to return `0`.
//@ [index](main.html) | [previous](part07.html) | [next](main.html)
// For example, you may want to return an `Option`, to panic, or to return `0`.
//@ [index](main.html) | [previous](part07.html) | [next](main.html)
diff --git
a/workspace/src/part08.rs
b/workspace/src/part08.rs
index 5a5f79222071bb9359eee608acee23e37102e6ee..d03934a8a023b6827f2c9298ccd9bca51d9fc0dd 100644
(file)
--- a/
workspace/src/part08.rs
+++ b/
workspace/src/part08.rs
@@
-69,6
+69,8
@@
impl<'a, 'b> ops::Add<&'a BigInt> for &'b BigInt {
}
}
}
}
+// **Exercise 08.4**: Implement the two missing combinations of arguments for `Add`. You should not have to duplicate the implementation.
+
// ## Modules
// Rust calls a bunch of definitions that are grouped together a *module*. You can put the tests in a submodule as follows.
// ## Modules
// Rust calls a bunch of definitions that are grouped together a *module*. You can put the tests in a submodule as follows.
@@
-80,10
+82,10
@@
mod tests {
let b2 = BigInt::from_vec(vec![0, 1]);
assert_eq!(&b1 + &b2, BigInt::from_vec(vec![1 << 32, 1]));
let b2 = BigInt::from_vec(vec![0, 1]);
assert_eq!(&b1 + &b2, BigInt::from_vec(vec![1 << 32, 1]));
- // **Exercise 08.
4
**: Add some more cases to this test.
+ // **Exercise 08.
5
**: Add some more cases to this test.
}
}
}
}
-// **Exercise 08.
4
**: Write a subtraction function, and testcases for it. Decide for yourself how you want to handle negative results.
+// **Exercise 08.
6
**: Write a subtraction function, and testcases for it. Decide for yourself how you want to handle negative results.
// For example, you may want to return an `Option`, to panic, or to return `0`.
// For example, you may want to return an `Option`, to panic, or to return `0`.