@@ -11,7 +11,7 @@ are the most common container in Rust, and are flexible enough to fit many use
1111cases.
1212
1313Vectors can also be sorted and used as efficient lookup tables with the
14- ` std::vec:: bsearch` function , if all the elements are inserted at one time and
14+ ` bsearch() ` method , if all the elements are inserted at one time and
1515deletions are unnecessary.
1616
1717## Maps and sets
@@ -42,10 +42,15 @@ implementing the `IterBytes` trait.
4242
4343## Double-ended queues
4444
45- The ` extra::deque ` module implements a double-ended queue with ` O(1) ` amortized
46- inserts and removals from both ends of the container. It also has ` O(1) `
47- indexing like a vector. The contained elements are not required to be copyable,
48- and the queue will be sendable if the contained type is sendable.
45+ The ` extra::ringbuf ` module implements a double-ended queue with ` O(1) `
46+ amortized inserts and removals from both ends of the container. It also has
47+ ` O(1) ` indexing like a vector. The contained elements are not required to be
48+ copyable, and the queue will be sendable if the contained type is sendable.
49+ Its interface ` Deque ` is defined in ` extra::collections ` .
50+
51+ The ` extra::dlist ` module implements a double-ended linked list, also
52+ implementing the ` Deque ` trait, with ` O(1) ` removals and inserts at either end,
53+ and ` O(1) ` concatenation.
4954
5055## Priority queues
5156
@@ -197,11 +202,11 @@ The function `range` (or `range_inclusive`) allows to simply iterate through a g
197202
198203~~~
199204for i in range(0, 5) {
200- printf !("%d ", i) // prints "0 1 2 3 4"
205+ print !("{} ", i) // prints "0 1 2 3 4"
201206}
202207
203208for i in std::iter::range_inclusive(0, 5) { // needs explicit import
204- printf !("%d ", i) // prints "0 1 2 3 4 5"
209+ print !("{} ", i) // prints "0 1 2 3 4 5"
205210}
206211~~~
207212
@@ -233,15 +238,15 @@ let mut it = xs.iter().zip(ys.iter());
233238
234239// print out the pairs of elements up to (&3, &"baz")
235240for (x, y) in it {
236- printfln !("%d %s ", * x, * y);
241+ println !("{} {} ", * x, * y);
237242
238243 if *x == 3 {
239244 break;
240245 }
241246}
242247
243248// yield and print the last pair from the iterator
244- printfln !("last: %? ", it.next());
249+ println !("last: {:?} ", it.next());
245250
246251// the iterator is now fully consumed
247252assert!(it.next().is_none());
@@ -335,13 +340,13 @@ another `DoubleEndedIterator` with `next` and `next_back` exchanged.
335340~~~
336341let xs = [1, 2, 3, 4, 5, 6];
337342let mut it = xs.iter();
338- printfln !("%? ", it.next()); // prints `Some(&1)`
339- printfln !("%? ", it.next()); // prints `Some(&2)`
340- printfln !("%? ", it.next_back()); // prints `Some(&6)`
343+ println !("{:?} ", it.next()); // prints `Some(&1)`
344+ println !("{:?} ", it.next()); // prints `Some(&2)`
345+ println !("{:?} ", it.next_back()); // prints `Some(&6)`
341346
342347// prints `5`, `4` and `3`
343348for &x in it.invert() {
344- printfln !("%? ", x)
349+ println !("{} ", x)
345350}
346351~~~
347352
@@ -356,11 +361,11 @@ let xs = [1, 2, 3, 4];
356361let ys = [5, 6, 7, 8];
357362let mut it = xs.iter().chain(ys.iter()).map(|&x| x * 2);
358363
359- printfln !("%? ", it.next()); // prints `Some(2)`
364+ println !("{:?} ", it.next()); // prints `Some(2)`
360365
361366// prints `16`, `14`, `12`, `10`, `8`, `6`, `4`
362367for x in it.invert() {
363- printfln !("%? ", x);
368+ println !("{} ", x);
364369}
365370~~~
366371
@@ -387,17 +392,17 @@ underlying iterators are.
387392let xs = [1, 2, 3, 4, 5];
388393let ys = ~[7, 9, 11];
389394let mut it = xs.iter().chain(ys.iter());
390- printfln !("%? ", it.idx(0)); // prints `Some(&1)`
391- printfln !("%? ", it.idx(5)); // prints `Some(&7)`
392- printfln !("%? ", it.idx(7)); // prints `Some(&11)`
393- printfln !("%? ", it.idx(8)); // prints `None`
395+ println !("{:?} ", it.idx(0)); // prints `Some(&1)`
396+ println !("{:?} ", it.idx(5)); // prints `Some(&7)`
397+ println !("{:?} ", it.idx(7)); // prints `Some(&11)`
398+ println !("{:?} ", it.idx(8)); // prints `None`
394399
395400// yield two elements from the beginning, and one from the end
396401it.next();
397402it.next();
398403it.next_back();
399404
400- printfln !("%? ", it.idx(0)); // prints `Some(&3)`
401- printfln !("%? ", it.idx(4)); // prints `Some(&9)`
402- printfln !("%? ", it.idx(6)); // prints `None`
405+ println !("{:?} ", it.idx(0)); // prints `Some(&3)`
406+ println !("{:?} ", it.idx(4)); // prints `Some(&9)`
407+ println !("{:?} ", it.idx(6)); // prints `None`
403408~~~
0 commit comments