mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
rdoc update.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1eca24b1a5
commit
73fc3b5a34
1 changed files with 11 additions and 8 deletions
19
enum.c
19
enum.c
|
@ -2418,15 +2418,18 @@ slicebefore_i(VALUE yielder, VALUE enumerator, int argc, VALUE *argv)
|
|||
*
|
||||
* If the block needs to maintain state over multiple elements,
|
||||
* local variables can be used.
|
||||
* For example, monotonically increasing elements can be chunked as follows.
|
||||
* For example, three or more consecutive increasing numbers can be squashed
|
||||
* as follows:
|
||||
*
|
||||
* a = [3,1,4,1,5,9,2,6,5,3,5]
|
||||
* n = 0
|
||||
* p a.slice_before {|elt|
|
||||
* prev, n = n, elt
|
||||
* prev > elt
|
||||
* }.to_a
|
||||
* #=> [[3], [1, 4], [1, 5, 9], [2, 6], [5], [3, 5]]
|
||||
* a = [0,2,3,4,6,7,9]
|
||||
* prev = a[0]
|
||||
* p a.slice_before {|e|
|
||||
* prev, prev2 = e, prev
|
||||
* prev2 + 1 != e
|
||||
* }.map {|es|
|
||||
* es.length <= 2 ? es.join(",") : "#{es.first}-#{es.last}"
|
||||
* }.join(",")
|
||||
* #=> "0,2-4,6,7,9"
|
||||
*
|
||||
* However local variables are not appropriate to maintain state
|
||||
* if the result enumerator is used twice or more.
|
||||
|
|
Loading…
Add table
Reference in a new issue