التابع caller
الخاص بالصنف Kernel
في روبي
يعيد التابع مكدس التنفيذ الحالي (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
انظر أيضا
- التابع
X_name_X
: