الفرق بين المراجعتين لصفحة: «Ruby/Kernel/trace var»

من موسوعة حسوب
< Ruby‏ | Kernel
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>trace_var‎</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby تص...'
 
لا ملخص تعديل
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Kernel]]
[[تصنيف: Ruby Kernel]]
يضبط التابع trace_var تعقّبات تعيين المتغيرات الكلية. يحدد الوسيط <code>symbol</code> المتغير (إما على شكل سلسلة نصية أو معرف رمز [symbol identifier]). يتم تنفيذ الوسيط cmd (الذي قد يكون سلسلة نصية أو كائن <code>Proc</code>) أو كتلة برمجية كلما تم تعيين المتغير. تتلقى الكتلة أو الكائن <code>Proc</code> القيمة الجديدة للمتغير كوسيط. انظر أيضا <code>Kernel::untrace_var</code>.
يضبط (Controls) التابع <code>trace_var</code> تعقّبات (tracing) تعيين المتغيرات الكلية. يحدد الوسيط المعطى <code>symbol</code> المتغير (إما على شكل سلسلة نصية أو معرف رمز [symbol identifier]). يتم تنفيذ الوسيط <code>cmd</code> (الذي قد يكون سلسلة نصية أو كائن <code>Proc</code>) أو كتلة برمجية كلما تم تعيين المتغير. ثم تتلقى الكتلة أو الكائن <code>Proc</code> القيمة الجديدة للمتغير كوسيط. انظر أيضا صفحة التابع <code>[[Ruby/Kernel/untrace var|untrace_var]]</code>.
 
الناتج:
<syntaxhighlight lang="ruby">$_ is now 'hello'
$_ is now ' there'‎</syntaxhighlight>
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">trace_var(symbol, cmd ) → nil
<syntaxhighlight lang="ruby">trace_var(symbol, cmd ) → nil
سطر 13: سطر 9:
==المعاملات==
==المعاملات==
===<code>symbol‎</code>===
===<code>symbol‎</code>===
يحدد المتغير.


===<code>cmd‎</code>===
===<code>cmd‎</code>===


 
التعليمة المراد تنفيذها  كلما تم تعيين المتغير.
==القيمة المُعادة==
==القيمة المُعادة==
القيمة <code>nil</code>.


==أمثلة==
==أمثلة==
سطر 23: سطر 21:
<syntaxhighlight lang="ruby">trace_var :$_, proc {|v| puts "$_ is now '#{v}'" }
<syntaxhighlight lang="ruby">trace_var :$_, proc {|v| puts "$_ is now '#{v}'" }
$_ = "hello"
$_ = "hello"
$_ = ' there'‎</syntaxhighlight>
$_ = ' there'‎</syntaxhighlight>الناتج:<syntaxhighlight lang="ruby">$_ is now 'hello'
$_ is now ' there'‎</syntaxhighlight>
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/Kernel/throw|throw]]</code>: ينقل التابع throw الضبط (control) إلى نهاية كتلة <code>catch</code> النشطة في انتظار الوسم (tag). ويطلق <code>UncaughtThrowError</code> إذا لم يكن هناك كتلة <code>catch</code> لذلك الوسم. يوفر الوسيط الاختياري الثاني قيمة لتُعيدها الكتلة <code>catch</code>، في حال عدم تمريره ستكون قيمتها الافتراضية هي <code>nil</code>. للحصول على بعض الأمثلة، انظر <code>Kernel::catch</code>.
* التابع <code>[[Ruby/Kernel/untrace var|untrace_var]]</code>: يحذف التعقب.
* التابع <code>[[Ruby/Kernel/trap|trap]]</code>: يحدد التابع trap معالج الإشارات (handling of signals). الوسيط الأول يمثل اسم إشارة (سلسلة نصية مثل "SIGALRM" أو "SIGUSR1" وغير ذلك) أو رقم إشارة. يمكن حذف الأحرف "SIG" من اسم الإشارة. تحدد التعليمة المعطاة cmd أو الكتلة الكود البرمجي المراد تشغيله عند إطلاق الإشارة. إذا كانت التعليمة هي السلسلة النصية "IGNORE" أو "SIG_IGN" ، فسيتم تجاهل الإشارة. أما إذا كانت تساوي "DEFAULT" أو "SIG_DFL" ، فسيُستدعى معالج روبي الافتراضي. لكن إذا كانت تساوي "EXIT" ، فستنهي الإشارة البرنامج النصي. إذا كان التعليمة تساوي "SYSTEM_DEFAULT" ، فسيتم استدعاء معالج نظام التشغيل الافتراضي. خلا ذلك، سيتم تشغيل التعليمة أو الكتلة المعطاة. سيتم استدعاء اسم الإشارة الخاص "EXIT"، أو رقم الإشارة 0، قبل إنهاء البرنامج مباشرة. يعيد التابع trap المعالج السابق للإشارة المعينة.


==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-trace_var قسم  التابع trace_var‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-trace_var قسم  التابع trace_var‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]

مراجعة 23:36، 23 أكتوبر 2018

يضبط (Controls) التابع trace_var تعقّبات (tracing) تعيين المتغيرات الكلية. يحدد الوسيط المعطى symbol المتغير (إما على شكل سلسلة نصية أو معرف رمز [symbol identifier]). يتم تنفيذ الوسيط cmd (الذي قد يكون سلسلة نصية أو كائن Proc) أو كتلة برمجية كلما تم تعيين المتغير. ثم تتلقى الكتلة أو الكائن Proc القيمة الجديدة للمتغير كوسيط. انظر أيضا صفحة التابع untrace_var.

البنية العامة

trace_var(symbol, cmd )  nil
trace_var(symbol) {|val| block }  nil

المعاملات

symbol‎

يحدد المتغير.

cmd‎

التعليمة المراد تنفيذها كلما تم تعيين المتغير.

القيمة المُعادة

القيمة nil.

أمثلة

مثال على استخدام التابع trace_var‎:

trace_var :$_, proc {|v| puts "$_ is now '#{v}'" }
$_ = "hello"
$_ = ' there'

الناتج:

$_ is now 'hello'
$_ is now ' there'

انظر أيضا

مصادر