るりまサーチ

最速Rubyリファレンスマニュアル検索!
22件ヒット [1-22件を表示] (0.089秒)
トップページ > 種類:クラス[x] > クエリ:LocalJumpError[x]

別のキーワード

  1. _builtin localjumperror
  2. localjumperror reason
  3. localjumperror exit_value
  4. proc localjumperror
  5. lambda localjumperror

ライブラリ

検索結果

LocalJumpError (38001.0)

ある Proc オブジェクトの作成元スコープがすでに終了しているとき、 その Proc オブジェクト内で return, break, retry のいずれかを実行すると発生します。

ある Proc オブジェクトの作成元スコープがすでに終了しているとき、
その Proc オブジェクト内で
return, break, retry のいずれかを実行すると発生します。

Proc の例を参照してください。

Proc (25.0)

ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。

...ェクトが呼び出しブロックとして振舞う際の制限です。

//emlist[問題なし][ruby]{
(1..5).each { break }
//}

//emlist[LocalJumpError が発生します。][ruby]{
pr = Proc.new { break }
(1..5).each(&pr)
//}

===[a:lambda_proc] lambda と proc と Proc.new とイテレータ...
...らの
return, break は例外 LocalJumpError を発生させます。
ただし、上でも説明した通り lambda で生成した手続きオブジェクトはメソッドと同じように振る舞う
ことを意図されているため、例外 LocalJumpError は発生しません。

//emlis...
...t[例][ruby]{
def foo
Proc.new { return }
end

foo.call
# => in `call': return from proc-closure (LocalJumpError)
//}

以下の表は、手続きオブジェクトの実行を上の例と同じように、手続きオブジェクトが定義されたメソッドを
脱出してから行った場...