mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
cont.c: append to continuations doc [ci skip]
* cont.c (rb_callcc): [DOC] append continuations example accros methods. [Fix GH-1026] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
6628cd6b37
commit
9bc67e1efa
2 changed files with 23 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
Sun Sep 20 10:07:35 2015 Anton Davydov <antondavydov.o@gmail.com>
|
||||
|
||||
* cont.c (rb_callcc): [DOC] append continuations example accros
|
||||
methods. [Fix GH-1026]
|
||||
|
||||
Sun Sep 20 03:20:21 2015 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* iseq.c (rb_iseq_free): free rb_iseq_t::body::cc_entries.
|
||||
|
|
18
cont.c
18
cont.c
|
@ -893,6 +893,24 @@ cont_restore_0(rb_context_t *cont, VALUE *addr_in_prev_frame)
|
|||
* Ron
|
||||
* Max
|
||||
*
|
||||
* Also you can call callcc in other methods:
|
||||
*
|
||||
* require "continuation"
|
||||
*
|
||||
* def g
|
||||
* arr = [ "Freddie", "Herbie", "Ron", "Max", "Ringo" ]
|
||||
* cc = callcc { |cc| cc }
|
||||
* puts arr.shift
|
||||
* return cc, arr.size
|
||||
* end
|
||||
*
|
||||
* def f
|
||||
* c, size = g
|
||||
* c.call(c) if size > 1
|
||||
* end
|
||||
*
|
||||
* f
|
||||
*
|
||||
* This (somewhat contrived) example allows the inner loop to abandon
|
||||
* processing early:
|
||||
*
|
||||
|
|
Loading…
Add table
Reference in a new issue