الفرق بين المراجعتين لصفحة: «Ruby/Kernel/set trace func»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>set_trace_func</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby ...' |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Kernel]] | [[تصنيف: Ruby Kernel]] | ||
يجعل التابع set_trace_func | يجعل التابع <code>set_trace_func</code> المعامل المعطى كمعالج للتعقب، أو يعطل التعقب إن كان الوسيط يساوي <code>nil</code>. | ||
ملاحظة: هذا التابع | |||
'''ملاحظة''': أصبح هذا التابع مهملًا، لذا يُرجى استخدام التابع <code>[[Ruby/TracePoint|TracePoint]]</code> بدلاً منه. | |||
اسم حدث اسم ملف رقم | __TOC__ | ||
يقبل <code>proc</code> ستة معاملات هي: | |||
الأحداث: | *اسم حدث | ||
<code>c-call</code> استدعاء C- | *اسم ملف | ||
يتم تعطيل التعقب في سياق proc. | *رقم سطر | ||
<syntaxhighlight lang="ruby"> class Test | *معرف كائن (object id) | ||
*كائن ربط (binding) | |||
*اسم صنف | |||
يستدعى <code>proc</code> كلما وقع حدث. الأحداث هي: | |||
{| class="wikitable" | |||
!الحدث | |||
!الوصف | |||
|- | |||
|<code>c-call</code> | |||
|استدعاء برنامج فرعي في لغة C. | |||
|- | |||
|<code>c-return</code> | |||
|العودة من برنامج فرعي في لغة C. | |||
|- | |||
|<code>call</code> | |||
|استدعاء تابع من توابع روبي. | |||
|- | |||
|<code>class</code> | |||
|بدء تعريف صنف أو وحدة. | |||
|- | |||
|<code>end</code> | |||
|إنهاء بدء تعريف صنف أو وحدة. | |||
|- | |||
|<code>line</code> | |||
|تنفيذ كود برمجي في سطر جديد. | |||
|- | |||
|<code>raise</code> | |||
|إطلاق استثناء. | |||
|- | |||
|<code>return</code> | |||
|العودة من توابع روبي. | |||
|}يتم تعطيل التعقب في سياق <code>proc</code>.<syntaxhighlight lang="ruby"> class Test | |||
def test | def test | ||
a = 1 | a = 1 | ||
سطر 37: | سطر 68: | ||
==المعاملات== | ==المعاملات== | ||
===<code>proc</code>=== | ===<code>proc</code>=== | ||
كائن من النوع <code>[[Ruby/Proc|Proc]]</code> يمثل المتعقب المعطى. | |||
===<code> | == القيمة المعادة == | ||
يعاد كائن من النوع <code>[[Ruby/Proc|Proc]]</code> أو تعاد القيمة <code>nil</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
.