المبرمج العربي نشر 19 ديسمبر 2015 لنفترض أنني أستخدم irb وكتبت a = 5، فكيف أستطيع حذف تعريف a لكي يرجع لي روبي NameError عندما أكتب له a ؟ انشر على الشّبكات الاجتماعية رابط هذه المساهمة
0 هشام رزق الله نشر 19 ديسمبر 2015 هنالك عدّة طرق في لغة روبي لإلغاء تعريف المتغيرات في irb وأسهل هذه الطرق تنظيف سجلات المتغيرات المحلية عن طريق استدعاء "صدفة irb الفرعية" (irb subshell) كما في المثال التالي:$ irb irb(main):001:0> a = "a" => "a" irb(main):002:0> defined? a => "local-variable" irb(main):003:0> irb # step into subshell with its own locals irb#1(main):001:0> defined? a => nil irb#1(main):002:0> a NameError: undefined local variable or method `a' for main:Object from /Users/dean/.irbrc:108:in `method_missing' from (irb#1):2 irb#1(main):003:0> exit => #<IRB::Irb: @context=#<IRB::Context:0x1011b48b8>, @signal_status=:IN_EVAL, @scanner=#<RubyLex:0x1011b3df0>> irb(main):004:0> a # now we're back and a exists again => "a" أما في لغة روبي (كسكربت) يمكنك استخدام توابع مختلفة مثل remove_class_variable و remove_instance_variable و remove_const للمتغيرات العامة لكن في الوقت الحالي لا يوجد أي توابع لإلغاء تعريف قيم متغيرات محلية. انشر على الشّبكات الاجتماعية رابط هذه المساهمة
لنفترض أنني أستخدم irb وكتبت a = 5، فكيف أستطيع حذف تعريف a لكي يرجع لي روبي NameError عندما أكتب له a ؟
انشر على الشّبكات الاجتماعية
رابط هذه المساهمة