タグ付けされた質問 「proc-object」

7
Rubyブロックで「return」を使用する
埋め込みスクリプト言語にRuby1.9.1を使用しようとしているので、「エンドユーザー」コードはRubyブロックに記述されます。これに関する1つの問題は、ユーザーがブロックで「return」キーワードを使用できるようにしたいので、暗黙の戻り値について心配する必要がないことです。これを念頭に置いて、これは私がやりたいことのようなものです: def thing(*args, &block) value = block.call puts "value=#{value}" end thing { return 6 * 7 } 上記の例で「return」を使用すると、LocalJumpErrorが発生します。これは、問題のブロックがProcであり、ラムダではないためです。'return'を削除するとコードは機能しますが、このシナリオでは 'return'を使用できるようにしたいと思います。これは可能ですか?ブロックをラムダに変換しようとしましたが、結果は同じです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.