June 2018 Update

This commit is contained in:
Ingy döt Net 2018-06-22 20:57:24 +00:00
parent ba8067c3b7
commit 22f33d4004
5278 changed files with 84726 additions and 14379 deletions

View file

@ -6,7 +6,7 @@ struct RangeFinder<'a, T: 'a> {
arr: &'a [T],
}
impl<'a, T> Iterator for RangeFinder<'a, T> where T: PartialEq + Add<u8, Output=T> + Copy {
impl<'a, T> Iterator for RangeFinder<'a, T> where T: PartialEq + Add<i8, Output=T> + Copy {
type Item = (T, Option<T>);
fn next(&mut self) -> Option<Self::Item> {
if self.index == self.length {
@ -40,10 +40,12 @@ impl<'a, T> RangeFinder<'a, T> {
}
fn main() {
let n = [0,1,2,3];
for (i, (lo, hi)) in RangeFinder::new(&n).enumerate() {
if i > 0 {print!(", ")}
let input_numbers : &[i8] = &[0, 1, 2, 4, 6, 7, 8, 11, 12, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 27, 28, 29, 30, 31, 32, 33, 35, 36,
37, 38, 39];
for (i, (lo, hi)) in RangeFinder::new(&input_numbers).enumerate() {
if i > 0 {print!(",")}
print!("{}", lo);
if hi.is_some() {print!("-{}", hi.unwrap())}
}

View file

@ -1 +1 @@
impl<'a, T> Iterator for RangeFinder<'a, T> where T: PartialEq + Add<u8, Output=T> + Copy {
impl<'a, T> Iterator for RangeFinder<'a, T> where T: PartialEq + Add<i8, Output=T> + Copy {