aboutsummaryrefslogtreecommitdiffstats
path: root/cont.c
diff options
context:
space:
mode:
Diffstat (limited to 'cont.c')
-rw-r--r--cont.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/cont.c b/cont.c
index 774a026bd5..ba72fd5990 100644
--- a/cont.c
+++ b/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:
*