الفرق بين المراجعتين ل"Ruby/TracePoint/defined class"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>defined_class‎</code> الخاص بالصنف <code>TracePoint</code> في روبي}}</noinclude> تصنيف: Ruby...')
(لا فرق)

مراجعة 22:40، 7 نوفمبر 2018

يُعيد التابع defined_class صنف أو وحدة التابع الذي يتم استدعاؤه.


إذا تم تعريف التابع بواسطة وحدة، فستعاد تلك الوحدة.


ملحوظة: يُعيد التابع defined_class صنفًا مفردًا (singleton class).

وسيط الكتلة السادس في التابع Kernel#set_trace_func يمرر صنفًا أصليًا للكائن عبر الصنف المفرد.

هذا أحد الفوارق بين Kernel#set_trace_func و TracePoint.

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


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

أمثلة

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

class C; def foo; end; end
trace = TracePoint.new(:call) do |tp|
  p tp.defined_class #=> C
end.enable do
  C.new.foo
end

انظر أيضا

  • التابع callee_id: يُعيد التابع callee_id اسم الاستدعاء الخاص بالتابع الذي يتم استدعاؤه
  • التابع disable: يعطل التابع disable التعقب.

مصادر