3

retryステートメントでブロックを保存しようとしていますが、構文エラーが発生しています: Invalid retry. 正しい保管方法は?

retries = 3
proc = Proc.new do
  if retries > 0
    p " Retries left: #{retries}"
    retries -= 1
    retry
  end
end
begin
  ...
rescue SomeErrorOne
  proc.call
rescue SomeErrorTwo
  proc.call
end
4

1 に答える 1

3

を に変更してみてretryくださいredoretryキーワードが乱用されたため、Ruby 1.9 でいくつかの変更が加えられたと思います。

違いはここにあります: http://rubyquicktips.com/post/1122838559/redo-vs-retry下部のコメントを参照してください。

于 2013-11-12T10:44:44.473 に答える