2 1 : , [ , : ] nil : , parameters: { } , finalize: <<-END, update: <<-END , finalize: <<-END , update: <<-END escape parallel :wait => do 1 end loop pre_test{ } pre_test(" ") post_test{ } post_test(" ") , : => " " do 1 end choose :exclusive :inclusive do 1 end critical : do 1 end 1 alternative " " " " , : => " " do 1 end 1 otherwise , : => " " do 1 end 1 parallel_branch do | | 1 end , : => { } Struct.new(:value, , : ).new( nil , , " " ) nil 1 END do | | , <<-END 1 end END