التابع caller‎ الخاص بالصنف Kernel في روبي

من موسوعة حسوب
< Ruby‏ | Kernel
مراجعة 11:15، 21 أكتوبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>caller‎</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby تصني...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يعيد التابع مكدس التنفيذ الحالي (execution stack)، والذي هو مصفوفة تحتوي على سلاسل نصية على الشاكلة file:line أو file:line: in `method'. يحدد الوسيط الاختياري start العدد الأولي لمدخالات المكدس (stack entries) التي ستٌحذف من الجزء العلوي من المكدس. يمكن استخدام وسيط اختياري ثاني length لتحدد عدد المدخلات التي ستُعاد من المكدس. يعيد التابع القيمة nil إن كان الوسيط start أكبر من حجم مكدس التنفيذ الحالي. اختياريا، يمكنك تمرير مجال range، والذي سيعيد مصفوفة تحتوي على المدخالات الموجودة ضمن المجالالمحدد.

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

caller(start=1, length=nil)   array or nil
caller(range)  array or nil

المعاملات

start‎

length‎

range‎

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

أمثلة

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

def a(skip)
  caller(skip)
end
def b(skip)
  a(skip)
end
def c(skip)
  b(skip)
end
c(0)   #=> ["prog:2:in `a'", "prog:5:in `b'", "prog:8:in `c'", "prog:10:in `<main>'"]
c(1)   #=> ["prog:5:in `b'", "prog:8:in `c'", "prog:11:in `<main>'"]
c(2)   #=> ["prog:8:in `c'", "prog:12:in `<main>'"]
c(3)   #=> ["prog:13:in `<main>'"]
c(4)   #=> []
c(5)   #=> nil

انظر أيضا

مصادر