صفحة الصنف InstructionSequence في روبي

من موسوعة حسوب
مراجعة 23:48، 1 نوفمبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: صفحة الصنف <code>InstructionSequence</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby InstructionSequence...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يمثل الصنف InstructionSequence تسلسلًا مصرّفًا (compiled sequence) للتعليمات الخاصة بالآلة الافتراضية (Virtual Machine) لروبي. يمكّنك هذا الصنف من الحصول على مؤشر (handle) للتعليمات التي تشكل التابع أو الكتلة البرمجية، وتصريف سلاسل روبي النصية إلى تعليمات الآلة الافتراضية (VM)، وتفكيك التعليمات إلى سلاسل نصية لتسهيل فحصها. هذا الصنف مفيد للغاية إن كنت ترغب في معرفة كيفية عمل آلة روبي الافتراضية، لكنه يتيح لك أيضًا التحكم في إعدادات امصرف روبيRuby ككك compiler compiler.يمكنك العثور على مصدر إرشادات الآلة الافتراضية في الصفحة insns.defin في توثيق روبي.من شبه المؤكد أن نتائج ككك سوف تتغير مع تغير روبي، لذلك قد يكون ناتج الأمثلة في صفحات هذا التوثيق مختلفًا عما لديك.

توابع الصنف العامة (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].