1 require 'test/minirunit'
2 test_check "Test return(s):"
16 res = meth2 { return }
18 test_exception(LocalJumpError){ res.call }
22 ('a'..'z').each do |v2|
31 p = Proc.new { return 99 }
38 q = Proc.new { return 99 }
44 test_exception(LocalJumpError) { meth5(q) }
47 p = lambda { return 99 }
58 def detect (nothing_found = nil)
59 z = each { |e| return e if yield(e) }
60 # should not get here if return hit
62 nothing_found.call unless nothing_found.nil?
68 break if i == @arr.size
76 test_ok(2 == B.new([1, 2, 3, 4]).detect {|c| c > 1})
82 proc_call{return 42}+1
84 test_ok(proc_return1() == 42)
86 # Procs (blocks) turn lambda-like when defined as a methods
87 # (actually define_method instance_eval's them, but lambda is easier for now)
89 def self.make_method(sym, &blk)
90 define_method(sym, &blk)
98 test_equal("bar", X.new.foo)