صفحة الصنف InstructionSequence
في روبي
يمثل الصنف InstructionSequence
تسلسلًا مصرّفًا (compiled sequence) للتعليمات الخاصة بالآلة الافتراضية (Virtual Machine) لروبي. يمكّنك هذا الصنف من الحصول على مؤشر (handle) للتعليمات التي تشكل التابع أو الكتلة البرمجية، وتصريف سلاسل روبي النصية إلى تعليمات الآلة الافتراضية (VM)، وتفكيك التعليمات إلى سلاسل نصية لتسهيل فحصها. هذا الصنف مفيد للغاية إن كنت ترغب في معرفة كيفية عمل آلة روبي الافتراضية، لكنه يتيح لك أيضًا التحكم في إعدادات امصرف روبيRuby ككك compiler compiler.يمكنك العثور على مصدر إرشادات الآلة الافتراضية في الصفحة insns.def
in في توثيق روبي.من شبه المؤكد أن نتائج ككك سوف تتغير مع تغير روبي، لذلك قد يكون ناتج الأمثلة في صفحات هذا التوثيق مختلفًا عما لديك.
توابع الصنف العامة (Public Class Methods)
التابع compile
يأخذ وسيطًا source
، والذي هو سلسلة نصية (String
) تحتوي على أكواد برمجية لروبي ويُصرّفها (compiles) إلى كائن من النوع InstructionSequence
.
التابع compile_file
يأخذ وسيطًا file
، والذي هو سلسلة نصية (String
) تحتوي مسار ملف روبي المصدري، ثم يقرأ ويحلل (parses) ويُصرّف (compiles) الملف، ثم يعيد iseq
، والذي هو كائن من النوع InstructionSequence
يضم البيانات الوصفية (metadata ) للمصدر.
التابع compile_option
يعيد قاموسا يحتوي الخيارات الافتراضية المستخدمة بواسطة المصرفRuby ككك compiler compiler.
التابع compile_option=
يضبط القيم الافتراضية لتحسين أداء المصرف Ruby ككك compiler.
التابع disasm
يأخذ الكائن body
، الذي يمكن أن يكون من النوع (Method
) أو من النوع Proc
، ويعيد سلسلة نصية (String
) تحتوي body
على هيئة تعليمات قابلة للقراءة.
التابع disassemble
يأخذ الوسيط body
، والذي سيكون إما كائنًا من النوع Method
، أو من النوع Proc
، ثم يُعيد سلسلة نصية (String
) تحتوي body
على هيئة تعليمات قابلة للقراءة.
التابع load_from_binary
يُحمّل كائنًا ككك من النوع InstructionSequence من سسس ثنائية (binary format String) String
مُنشأ بواسطة #to_binary
.
التابع load_from_binary_extra_data
يُحمّل البيانات الإضافية المُضمّنة في السلسلة النصية الثنائية المعطاة (binary format String) String
.
التابع new
يأخذ وسيطًا source
، وهو سسس (String
) تحتوي أكواد برمجية بلغة روبي، ويُصرّفها (compiles it) إلى كائن من النوع InstructionSequence
.
التابع of
يُعيد ككك التي تحتوي كائن proc أو method المعطى.
التابع absolute_path
يُعيد المسار المطلق لككك (ووو).
التابع base_label
يُعيد التسمية الأساسية (base label) لككك التي .
التابع disasm
يأخذ الكائن body
، الذي يمكن أن يكون من النوع (Method
) أو من النوع Proc
، ويعيد سلسلة نصية (String
) تحتوي body
على هيئة تعليمات قابلة للقراءة.
التابع disassemble
يأخذ الوسيط body
، والذي سيكون إما كائنًا من النوع Method
، أو من النوع Proc
، ثم يُعيد سلسلة نصية (String
) تحتوي body
على هيئة تعليمات قابلة للقراءة.
التابع each_child
يًكرّر (Iterate) على جميع سلاسل التعليمات (ككك) المنحدرة مباشرة من ككك . ترتيب التكرار يتعلق بطريقة التقديم (implementation) وبالإصدار، لذلك عليك ألا تعوّل على ترتيب معين.
التابع eval
يقيّم (Evaluates) ككك ويُعيد النتيجة.
التابع first_lineno
يعيد رقم أول سطر في المصدر حيث تم تحميل تسلسل التعليمات الحالي.
التابع inspect
يعيد تمثيلًا نصيا قابلًا للقراءة لتسلسل التعليمات ، بما في ذلك label
و path
.
التابع label
يُعيد تسمية (label) ككك .
التابع path
يُعيد مسار ككك .
التابع to_a
يُعيد ممم (Array
) تتألف من 14 عنصرًا يمثلون ككك بالبيانات التالية:
التابع to_binary
يُسلسل (serialize) ككك تنسيق على هيئة سسس ثنائية String
. يتم إنشاء ككك مقابلة بواسطة التابع ::load_from_binary
.
التابع trace_points
يُعيد نقاط التعقب (trace points) في ككك. على هيئة ممم من الأزواج [line، event_symbol].