about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCorey Farwell <coreyf@rwell.org>2016-07-24 22:10:36 -0400
committerCorey Farwell <coreyf@rwell.org>2016-07-25 16:59:33 -0400
commita139772e7751017d66d82877b3666d58df7ef00b (patch)
tree6d24081e0bbdfc0a2ec4624c10a25cc5522a9de6
parent9316ae515e2f8f3f497fb4f1559910c1eef2433d (diff)
downloadrust-a139772e7751017d66d82877b3666d58df7ef00b.tar.gz
rust-a139772e7751017d66d82877b3666d58df7ef00b.zip
Rewrite/expansion of `slice::split` doc examples.
-rw-r--r--src/libcollections/slice.rs37
1 files changed, 31 insertions, 6 deletions
diff --git a/src/libcollections/slice.rs b/src/libcollections/slice.rs
index 1f8eea56fc6..ccef6c02f9d 100644
--- a/src/libcollections/slice.rs
+++ b/src/libcollections/slice.rs
@@ -691,15 +691,40 @@ impl<T> [T] {
     ///
     /// # Examples
     ///
-    /// Print the slice split by numbers divisible by 3 (i.e. `[10, 40]`,
-    /// `[20]`, `[50]`):
+    /// ```
+    /// let slice = [10, 40, 33, 20];
+    /// let mut iter = slice.split(|num| num % 3 == 0);
     ///
+    /// assert_eq!(iter.next().unwrap(), &[10, 40]);
+    /// assert_eq!(iter.next().unwrap(), &[20]);
+    /// assert!(iter.next().is_none());
     /// ```
-    /// let v = [10, 40, 30, 20, 60, 50];
     ///
-    /// for group in v.split(|num| *num % 3 == 0) {
-    ///     println!("{:?}", group);
-    /// }
+    /// If the first element is matched, an empty slice will be the first item
+    /// returned by the iterator. Similarly, if the last element in the slice
+    /// is matched, an empty slice will be the last item returned by the
+    /// iterator:
+    ///
+    /// ```
+    /// let slice = [10, 40, 33];
+    /// let mut iter = slice.split(|num| num % 3 == 0);
+    ///
+    /// assert_eq!(iter.next().unwrap(), &[10, 40]);
+    /// assert_eq!(iter.next().unwrap(), &[]);
+    /// assert!(iter.next().is_none());
+    /// ```
+    ///
+    /// If two matched elements are directly adjacent, an empty slice will be
+    /// present between them:
+    ///
+    /// ```
+    /// let slice = [10, 6, 33, 20];
+    /// let mut iter = slice.split(|num| num % 3 == 0);
+    ///
+    /// assert_eq!(iter.next().unwrap(), &[10]);
+    /// assert_eq!(iter.next().unwrap(), &[]);
+    /// assert_eq!(iter.next().unwrap(), &[20]);
+    /// assert!(iter.next().is_none());
     /// ```
     #[stable(feature = "rust1", since = "1.0.0")]
     #[inline]