التابع InstructionSequence.to_a‎ في روبي

من موسوعة حسوب

يُعيد التابع to_a مصفوفة تتألف من 14 عنصرًا تحوي معلومات حول سلسلة التعليمات التي استدعي معها.

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

to_a  ary

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

تعاد مصفوفة تتألف من 14 عنصرًا يمثلون سلسلة التعليمات بالبيانات التالية:

magic سلسلة نصية تحدد تنسيق (format) البيانات. دائمًا تكون YARVInstructionSequence/SimpleDataFormat.
major_version الإصدار الرئيسي لسلسلة التعليمات.
minor_version الإصدار الثانوي لسلسلة التعليمات.
format_type عدد يمثل تنسيق البيانات. تكون دائمًا 1.
misc جدول Hash يحتوي على:
  • :arg_size: العدد الإجمالي للوسائط التي يأخذها التابع أو الكتلة (تساوي 0 إن لم تكن سلسلة التعليمات تمثل تابعًا أو كتلة).
  • :local_size: عدد المتغيرات المحلية + 1.
  • :stack_max: يُستخدم لحساب عمق المكدس (stack) حيث أُطلِق الاستثناء SystemStackError.
label اسم السياق (مثل block ، method ، class ، module ...إلخ) الذي تنتمي إليه سلسلة التعليمات. يساوي <main> إن كانت سلسلة التعليمات في المستوى الأعلى، أو <compiled> إذا تم تقييمها انطلاقًا من سلسلة نصية.
path المسار النسبي لملف روبي حيث تم تحميل سلسلة التعليمات. تساوي <compiled> إذا تم تقييم سلسلة التعليمات من سلسلة نصية.
absolute_path المسار المطلق لملف روبي حيث تم تحميل سلسلة التعليمات. يكون nil إذا تم تقييم سلسلة التعليمات من سلسلة نصية.
first_lineno رقم أول سطر في المصدر حيث تم تحميل سلسلة التعليمات.
type نوع سلسلة التعليمات.

القيم الصالحة هي ‎:top و ‎:method و ‎:block و ‎:class و ‎:rescue و‎ :ensure و‎ :eval و‎ :main و ‎:defined_guard.

locals مصفوفة تحتوي أسماء جميع الوسائط والمتغيرات المحلية على هيئة رموز.
params جدول Hash يحتوي على معلومات عن الوسائط. يمكن العثور على مزيد من المعلومات حول هذه القيم في vm_core.h.
catch_table قائمة بالاستثناءات ومعاملات التحكم (مثل rescue و next و redo و break، ...إلخ).
bytecode مصفوفة مكونة من مصفوفات تحتوي على أسماء التعليمات والعوامل (operands) التي تشكل نص سلسلة التعليمات.

انظر أيضا

مصادر