PATH:
opt
/
alt
/
ruby18
/
share
/
ri
/
1.8
/
system
/
Kernel
--- !ruby/object:RI::MethodDescription aliases: [] block_params: comment: - !ruby/struct:SM::Flow::P body: <tt>catch</tt> executes its block. If a <tt>throw</tt> is executed, Ruby searches up its stack for a <tt>catch</tt> block with a tag corresponding to the <tt>throw</tt>'s <em>symbol</em>. If found, that block is terminated, and <tt>catch</tt> returns the value given to <tt>throw</tt>. If <tt>throw</tt> is not called, the block terminates normally, and the value of <tt>catch</tt> is the value of the last expression evaluated. <tt>catch</tt> expressions may be nested, and the <tt>throw</tt> call need not be in lexical scope. - !ruby/struct:SM::Flow::VERB body: " def routine(n)\n puts n\n throw :done if n <= 0\n routine(n-1)\n end\n\n catch(:done) { routine(3) }\n" - !ruby/struct:SM::Flow::P body: <em>produces:</em> - !ruby/struct:SM::Flow::VERB body: " 3\n 2\n 1\n 0\n" full_name: Kernel#catch is_singleton: false name: catch params: | catch(symbol) {| | block } > obj visibility: public
[-] trap-i.yaml
[edit]
[-] chop-i.yaml
[edit]
[-] URI-i.yaml
[edit]
[-] gsub%21-i.yaml
[edit]
[-] fail-i.yaml
[edit]
[-] lambda-i.yaml
[edit]
[-] fork-i.yaml
[edit]
[-] autoload-i.yaml
[edit]
[-] abort-i.yaml
[edit]
[-] readlines-i.yaml
[edit]
[-] exec-i.yaml
[edit]
[-] __method__-i.yaml
[edit]
[-] readline-i.yaml
[edit]
[-] Integer-i.yaml
[edit]
[-] eval-i.yaml
[edit]
[-] open_uri_original_open-i.yaml
[edit]
[-] autoload%3f-i.yaml
[edit]
[-] scan-i.yaml
[edit]
[-] at_exit-i.yaml
[edit]
[-] p-i.yaml
[edit]
[-] y-i.yaml
[edit]
[-] syscall-i.yaml
[edit]
[-] sub%21-i.yaml
[edit]
[-] warn-i.yaml
[edit]
[-] caller-i.yaml
[edit]
[-] print-i.yaml
[edit]
[-] Float-i.yaml
[edit]
[-] scanf-i.yaml
[edit]
[-] open-i.yaml
[edit]
[-] split-i.yaml
[edit]
[-] sub-i.yaml
[edit]
[-] catch-i.yaml
[edit]
[-] raise-i.yaml
[edit]
[-] gsub-i.yaml
[edit]
[-] sprintf-i.yaml
[edit]
[-] iterator%3f-i.yaml
[edit]
[-] binding-i.yaml
[edit]
[-] putc-i.yaml
[edit]
[-] pp-i.yaml
[edit]
[-] pretty_inspect-i.yaml
[edit]
[-] getc-i.yaml
[edit]
[-] %60-i.yaml
[edit]
[-] chomp-i.yaml
[edit]
[-] load-i.yaml
[edit]
[-] exit-i.yaml
[edit]
[-] srand-i.yaml
[edit]
[-] block_given%3f-i.yaml
[edit]
[-] trace_var-i.yaml
[edit]
[-] callcc-i.yaml
[edit]
[-] Array-i.yaml
[edit]
[-] test-i.yaml
[edit]
[-] loop-i.yaml
[edit]
[-] format-i.yaml
[edit]
[-] gets-i.yaml
[edit]
[-] method_missing-i.yaml
[edit]
[-] chop%21-i.yaml
[edit]
[-] proc-i.yaml
[edit]
[-] throw-i.yaml
[edit]
[-] exit%21-i.yaml
[edit]
[-] global_variables-i.yaml
[edit]
[-] printf-i.yaml
[edit]
[+]
..
[-] require-i.yaml
[edit]
[-] String-i.yaml
[edit]
[-] select-i.yaml
[edit]
[-] set_trace_func-i.yaml
[edit]
[-] chomp%21-i.yaml
[edit]
[-] sleep-i.yaml
[edit]
[-] Pathname-i.yaml
[edit]
[-] untrace_var-i.yaml
[edit]
[-] rand-i.yaml
[edit]
[-] cdesc-Kernel.yaml
[edit]
[-] system-i.yaml
[edit]
[-] local_variables-i.yaml
[edit]
[-] puts-i.yaml
[edit]