Ответ 1
retry
может использоваться внутри блока спасения, чтобы вернуться в начальный блок после того, как условие, вызвавшее исключение, было исправлено. Внутри блока он имеет эффект прыжка до начала метода уступа. Таким образом, внутри каждого это означает, что повтор будет переходить к началу цикла.
return
вернется из метода, в котором он находится внутри - в этом случае из a_method
.
break
вернется из метода yielding - в этом случае из each
(который будет отличаться от возврата из a_method
, если что-то произошло между концом каждого блока и концом a_method
).
next
вернется из блока и, таким образом, перейдет к следующему элементу в things
.
redo
перейдет в начало блока и, таким образом, повторит текущую итерацию.