التابع trace_var
الخاص بالصنف Kernel
في روبي
يضبط التابع trace_var تعقّبات تعيين المتغيرات الكلية. يحدد الوسيط symbol
المتغير (إما على شكل سلسلة نصية أو معرف رمز [symbol identifier]). يتم تنفيذ الوسيط cmd (الذي قد يكون سلسلة نصية أو كائن Proc
) أو كتلة برمجية كلما تم تعيين المتغير. تتلقى الكتلة أو الكائن Proc
القيمة الجديدة للمتغير كوسيط. انظر أيضا Kernel::untrace_var
.
الناتج:
$_ is now 'hello'
$_ is now ' there'
البنية العامة
trace_var(symbol, cmd ) → nil
trace_var(symbol) {|val| block } → nil
المعاملات
symbol
cmd
القيمة المُعادة
أمثلة
مثال على استخدام التابع trace_var
:
trace_var :$_, proc {|v| puts "$_ is now '#{v}'" }
$_ = "hello"
$_ = ' there'
انظر أيضا
- التابع
throw
: ينقل التابع throw الضبط (control) إلى نهاية كتلةcatch
النشطة في انتظار الوسم (tag). ويطلقUncaughtThrowError
إذا لم يكن هناك كتلةcatch
لذلك الوسم. يوفر الوسيط الاختياري الثاني قيمة لتُعيدها الكتلةcatch
، في حال عدم تمريره ستكون قيمتها الافتراضية هيnil
. للحصول على بعض الأمثلة، انظرKernel::catch
. - التابع
trap
: يحدد التابع trap معالج الإشارات (handling of signals). الوسيط الأول يمثل اسم إشارة (سلسلة نصية مثل "SIGALRM" أو "SIGUSR1" وغير ذلك) أو رقم إشارة. يمكن حذف الأحرف "SIG" من اسم الإشارة. تحدد التعليمة المعطاة cmd أو الكتلة الكود البرمجي المراد تشغيله عند إطلاق الإشارة. إذا كانت التعليمة هي السلسلة النصية "IGNORE" أو "SIG_IGN" ، فسيتم تجاهل الإشارة. أما إذا كانت تساوي "DEFAULT" أو "SIG_DFL" ، فسيُستدعى معالج روبي الافتراضي. لكن إذا كانت تساوي "EXIT" ، فستنهي الإشارة البرنامج النصي. إذا كان التعليمة تساوي "SYSTEM_DEFAULT" ، فسيتم استدعاء معالج نظام التشغيل الافتراضي. خلا ذلك، سيتم تشغيل التعليمة أو الكتلة المعطاة. سيتم استدعاء اسم الإشارة الخاص "EXIT"، أو رقم الإشارة 0، قبل إنهاء البرنامج مباشرة. يعيد التابع trap المعالج السابق للإشارة المعينة.