আমি এম্বেড থাকা স্ক্রিপ্টিং ভাষার জন্য রুবি ১.৯.১ ব্যবহার করার চেষ্টা করছি, যাতে "শেষ ব্যবহারকারী" কোডটি রুবি ব্লকে লিখিত হয়। এর সাথে একটি সমস্যা হ'ল আমি চাই যে ব্যবহারকারীরা ব্লকগুলিতে 'রিটার্ন' কীওয়ার্ডটি ব্যবহার করতে সক্ষম হবেন, তাই তাদের অন্তর্নিহিত রিটার্ন মানগুলি নিয়ে চিন্তা করার দরকার নেই। এটি মনে রেখে, এই ধরণের জিনিসটি আমি করতে সক্ষম হতে চাই:
def thing(*args, &block)
value = block.call
puts "value=#{value}"
end
thing {
return 6 * 7
}
আমি যদি উপরের উদাহরণটিতে 'রিটার্ন' ব্যবহার করি তবে আমি একটি লোকালজম্পআরার পাই। আমি সচেতন যে এটি কারণ, কারণ প্রশ্নে থাকা ব্লকটি একটি প্রাক এবং ল্যাম্বডা নয়। আমি 'রিটার্ন' সরিয়ে দিলে কোডটি কাজ করে তবে আমি এই দৃশ্যে 'রিটার্ন' ব্যবহার করতে সক্ষম হতে পছন্দ করব। এটা কি সম্ভব? আমি ব্লকটিকে ল্যাম্বডায় রূপান্তর করার চেষ্টা করেছি, তবে ফলাফলটি একই।