الفرق بين المراجعتين لصفحة: «Ruby/Kernel/set trace func»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Kernel]] | [[تصنيف: Ruby Kernel]] | ||
يجعل التابع <code>set_trace_func</code> | يجعل التابع <code>set_trace_func</code> المعامل المعطى كمعالج للتعقب، أو يعطل التعقب إن كان الوسيط يساوي <code>nil</code>. | ||
ملاحظة: هذا التابع | '''ملاحظة''': أصبح هذا التابع مهملًا، لذا يُرجى استخدام التابع <code>[[Ruby/TracePoint|TracePoint]]</code> بدلاً منه. | ||
__TOC__ | |||
يقبل <code>proc</code> ستة | يقبل <code>proc</code> ستة معاملات هي: | ||
* اسم حدث | *اسم حدث | ||
* اسم ملف | *اسم ملف | ||
* رقم | *رقم سطر | ||
* معرف كائن (object id) | *معرف كائن (object id) | ||
* كائن ربط (binding) | *كائن ربط (binding) | ||
* اسم | *اسم صنف | ||
يستدعى <code>proc</code> كلما وقع حدث. الأحداث هي: | |||
الأحداث هي | |||
{| class="wikitable" | {| class="wikitable" | ||
|<code>c-call</code> | !الحدث | ||
|استدعاء C | !الوصف | ||
|- | |||
|<code>c-call</code> | |||
|استدعاء برنامج فرعي في لغة C. | |||
|- | |- | ||
|<code>c-return</code> | |<code>c-return</code> | ||
|العودة من C | |العودة من برنامج فرعي في لغة C. | ||
|- | |- | ||
|<code>call</code> | |<code>call</code> | ||
|استدعاء تابع من توابع روبي | |استدعاء تابع من توابع روبي. | ||
|- | |- | ||
|<code>class</code> | |<code>class</code> | ||
|بدء تعريف صنف أو وحدة | |بدء تعريف صنف أو وحدة. | ||
|- | |- | ||
|<code>end</code> | |<code>end</code> | ||
|إنهاء بدء تعريف صنف أو وحدة | |إنهاء بدء تعريف صنف أو وحدة. | ||
|- | |- | ||
|<code>line</code> | |<code>line</code> | ||
|تنفيذ كود برمجي | |تنفيذ كود برمجي في سطر جديد. | ||
|- | |- | ||
|<code>raise</code> | |<code>raise</code> | ||
|إطلاق استثناء | |إطلاق استثناء. | ||
|- | |- | ||
|<code>return</code> | |<code>return</code> | ||
|العودة من توابع روبي. | |العودة من توابع روبي. | ||
|} | |}يتم تعطيل التعقب في سياق <code>proc</code>.<syntaxhighlight lang="ruby"> class Test | ||
يتم تعطيل التعقب في سياق <code>proc</code>. | |||
<syntaxhighlight lang="ruby"> class Test | |||
def test | def test | ||
a = 1 | a = 1 | ||
سطر 68: | سطر 68: | ||
==المعاملات== | ==المعاملات== | ||
===<code>proc</code>=== | ===<code>proc</code>=== | ||
يمثل المتعقب المعطى. | كائن من النوع <code>[[Ruby/Proc|Proc]]</code> يمثل المتعقب المعطى. | ||
== القيمة المعادة == | |||
يعاد كائن من النوع <code>[[Ruby/Proc|Proc]]</code> أو تعاد القيمة <code>nil</code>. | |||
==انظر أيضا== | ==انظر أيضا== | ||
* صفحة الصنف <code>[[Ruby/TracePoint|TracePoint]]</code>. | *صفحة الصنف <code>[[Ruby/TracePoint|TracePoint]]</code>. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-set_trace_func قسم | *[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-set_trace_func قسم التابع set_trace_func في الصنف Kernel في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 12:40، 16 نوفمبر 2018
يجعل التابع set_trace_func
المعامل المعطى كمعالج للتعقب، أو يعطل التعقب إن كان الوسيط يساوي nil
.
ملاحظة: أصبح هذا التابع مهملًا، لذا يُرجى استخدام التابع TracePoint
بدلاً منه.
يقبل proc
ستة معاملات هي:
- اسم حدث
- اسم ملف
- رقم سطر
- معرف كائن (object id)
- كائن ربط (binding)
- اسم صنف
يستدعى proc
كلما وقع حدث. الأحداث هي:
الحدث | الوصف |
---|---|
c-call
|
استدعاء برنامج فرعي في لغة C. |
c-return
|
العودة من برنامج فرعي في لغة C. |
call
|
استدعاء تابع من توابع روبي. |
class
|
بدء تعريف صنف أو وحدة. |
end
|
إنهاء بدء تعريف صنف أو وحدة. |
line
|
تنفيذ كود برمجي في سطر جديد. |
raise
|
إطلاق استثناء. |
return
|
العودة من توابع روبي. |
يتم تعطيل التعقب في سياق proc
.
class Test
def test
a = 1
b = 2
end
end
set_trace_func proc { |event, file, line, id, binding, classname|
printf "%8s %s:%-2d %10s %8s\n", event, file, line, id, classname
}
t = Test.new
t.test
line prog.rb:11 false
c-call prog.rb:11 new Class
c-call prog.rb:11 initialize Object
c-return prog.rb:11 initialize Object
c-return prog.rb:11 new Class
line prog.rb:12 false
call prog.rb:2 test Test
line prog.rb:3 test Test
line prog.rb:4 test Test
return prog.rb:4 test Test
البنية العامة
set_trace_func(proc) → proc
set_trace_func(nil) → nil
المعاملات
proc
كائن من النوع Proc
يمثل المتعقب المعطى.
القيمة المعادة
يعاد كائن من النوع Proc
أو تعاد القيمة nil
.
انظر أيضا
- صفحة الصنف
TracePoint
.