# $Id: retry.rb,v 1.3 2003/12/30 06:11:02 yuya Exp $ once = false begin p(:begin) unless once once = true raise('exception') end rescue p(:rescue) retry end p(:ok) # NodeDump V0.1.7 # # NODE_BLOCK: # NODE_NEWLINE: [retry.rb:3] # NODE_LASGN: # NODE_FALSE: # Assign to LV 2 (once) # NODE_NEWLINE: [retry.rb:13] # NODE_RESCUE: # NODE_BLOCK: # NODE_NEWLINE: [retry.rb:5] # NODE_FCALL: to function: 6753 (p) # Parameters: # NODE_ARRAY: size = 1 # NODE_LIT: Symbol: 6569 (begin) # NODE_NEWLINE: [retry.rb:6] # NODE_IF: # NODE_LVAR: LV 2 (once) # then: # else: # NODE_BLOCK: # NODE_NEWLINE: [retry.rb:7] # NODE_LASGN: # NODE_TRUE: # Assign to LV 2 (once) # NODE_NEWLINE: [retry.rb:8] # NODE_FCALL: to function: 3705 (raise) # Parameters: # NODE_ARRAY: size = 1 # NODE_STR: "exception" # When: # StandardError (default) # NODE_BLOCK: # NODE_NEWLINE: [retry.rb:11] # NODE_FCALL: to function: 6753 (p) # Parameters: # NODE_ARRAY: size = 1 # NODE_LIT: Symbol: 8969 (rescue) # NODE_NEWLINE: [retry.rb:12] # NODE_RETRY: # NODE_NEWLINE: [retry.rb:15] # NODE_FCALL: to function: 6753 (p) # Parameters: # NODE_ARRAY: size = 1 # NODE_LIT: Symbol: 8977 (ok)