الفرق بين المراجعتين ل"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 الوسيط المعطى proc كمتعقب (handler for tracing)، أو يعطل التعقب إن كان الوسيط يساوي <code>nil</code>. | + | يجعل التابع <code>set_trace_func</code> الوسيط المعطى <code>proc</code> كمتعقب (handler for tracing)، أو يعطل التعقب إن كان الوسيط يساوي <code>nil</code>. |
− | ملاحظة: هذا التابع صار متجاوزًا، يُرجى استخدام <code>TracePoint</code> بدلاً | + | |
− | + | ملاحظة: هذا التابع صار متجاوزًا، يُرجى استخدام <code>[[Ruby/TracePoint|TracePoint]]</code> بدلاً منه. | |
− | اسم حدث اسم ملف رقم السطر معرف كائن ( | + | |
− | يتم استدعاء proc كلما وقع حدث. | + | يقبل <code>proc</code> ستة وسائط: |
− | الأحداث: | + | * اسم حدث |
− | <code>c-call</code> استدعاء C-language routine <code>c-return</code> العودة من C-language routine <code>call</code> استدعاء تابع من توابع روبي <code>class</code> بدء تعريف صنف أو وحدة <code>end</code> | + | * اسم ملف |
− | يتم تعطيل التعقب في سياق proc. | + | * رقم السطر |
+ | * معرف كائن (object id) | ||
+ | * كائن ربط (binding) | ||
+ | * اسم الصنف | ||
+ | يتم استدعاء <code>proc</code> كلما وقع حدث. | ||
+ | الأحداث هي كالآتي: | ||
+ | {| class="wikitable" | ||
+ | |<code>c-call</code> | ||
+ | |استدعاء C-language routine | ||
+ | |- | ||
+ | |<code>c-return</code> | ||
+ | |العودة من C-language routine | ||
+ | |- | ||
+ | |<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 | <syntaxhighlight lang="ruby"> class Test | ||
def test | def test | ||
سطر 37: | سطر 68: | ||
==المعاملات== | ==المعاملات== | ||
===<code>proc</code>=== | ===<code>proc</code>=== | ||
− | + | يمثل المتعقب المعطى. | |
− | |||
− | |||
− | |||
− | |||
==انظر أيضا== | ==انظر أيضا== | ||
− | * | + | * صفحة الصنف <code>[[Ruby/TracePoint|TracePoint]]</code>. |
− | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-set_trace_func قسم التابع set_trace_func في الصنف Kernel في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-set_trace_func قسم التابع set_trace_func في الصنف Kernel في توثيق روبي الرسمي.] |
مراجعة 16:53، 22 أكتوبر 2018
يجعل التابع set_trace_func
الوسيط المعطى proc
كمتعقب (handler for tracing)، أو يعطل التعقب إن كان الوسيط يساوي nil
.
ملاحظة: هذا التابع صار متجاوزًا، يُرجى استخدام TracePoint
بدلاً منه.
يقبل proc
ستة وسائط:
- اسم حدث
- اسم ملف
- رقم السطر
- معرف كائن (object id)
- كائن ربط (binding)
- اسم الصنف
يتم استدعاء proc
كلما وقع حدث.
الأحداث هي كالآتي:
c-call
|
استدعاء C-language routine |
c-return
|
العودة من C-language routine |
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
يمثل المتعقب المعطى.
انظر أيضا
- صفحة الصنف
TracePoint
.