• 0

كيف ألغي تعريف متغير معين في روبي؟

لنفترض أنني أستخدم irb وكتبت a = 5، فكيف أستطيع حذف تعريف a لكي يرجع لي روبي NameError عندما أكتب له a ؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك عدّة طرق في لغة روبي لإلغاء تعريف المتغيرات في 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 للمتغيرات العامة لكن في الوقت الحالي لا يوجد أي توابع لإلغاء تعريف قيم متغيرات محلية.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن