الفرق بين المراجعتين لصفحة: «Ruby/InstructionSequence»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: صفحة الصنف <code>InstructionSequence</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby InstructionSequence...' |
لا ملخص تعديل |
||
سطر 2: | سطر 2: | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby InstructionSequence]] | [[تصنيف: Ruby InstructionSequence]] | ||
يمثل الصنف <code>InstructionSequence</code> تسلسلًا مصرّفًا (compiled sequence) للتعليمات الخاصة بالآلة الافتراضية (Virtual Machine) لروبي. يمكّنك هذا الصنف من الحصول على مؤشر (handle) للتعليمات التي تشكل التابع أو الكتلة البرمجية، وتصريف سلاسل روبي النصية إلى تعليمات الآلة الافتراضية (VM)، وتفكيك التعليمات إلى سلاسل نصية لتسهيل فحصها. هذا الصنف مفيد للغاية إن كنت ترغب في معرفة كيفية عمل آلة روبي الافتراضية، لكنه يتيح لك أيضًا التحكم في إعدادات | يمثل الصنف <code>InstructionSequence</code> تسلسلًا مصرّفًا (compiled sequence) للتعليمات الخاصة بالآلة الافتراضية (Virtual Machine) لروبي. | ||
يمكّنك هذا الصنف من الحصول على مؤشر (handle) للتعليمات التي تشكل التابع أو الكتلة البرمجية، وتصريف (compile) سلاسل روبي النصية إلى تعليمات الآلة الافتراضية (VM)، وتفكيك التعليمات إلى سلاسل نصية لتسهيل فحصها. | |||
هذا الصنف مفيد للغاية إن كنت ترغب في معرفة كيفية عمل آلة روبي الافتراضية، لكنه يتيح لك أيضًا التحكم في إعدادات مصرف روبي Ruby iseq compiler. | |||
يمكنك العثور على مصدر إرشادات الآلة الافتراضية في الصفحة <code>insns.def</code>في توثيق روبي. | |||
من شبه المؤكد أن نتائج سلاسل التعليمات سوف تتغير مع تغير روبي، لذلك قد يكون ناتج الأمثلة في صفحات هذا التوثيق مختلفًا عما لديك. | |||
==توابع الصنف العامة (Public Class Methods)== | ==توابع الصنف العامة (Public Class Methods)== | ||
===[[Ruby/InstructionSequence/compile | التابع compile]]=== | ===[[Ruby/InstructionSequence/compile | التابع compile]]=== | ||
يأخذ وسيطًا <code>source</code> ، | يأخذ وسيطًا <code>source</code> ، ويُصرّفه (compiles) إلى كائن من النوع <code>[[Ruby/InstructionSequence|InstructionSequence]]</code>. | ||
===[[Ruby/InstructionSequence/compile_file | التابع compile_file]]=== | ===[[Ruby/InstructionSequence/compile_file | التابع compile_file]]=== | ||
يأخذ وسيطًا <code>file</code> ، | يأخذ وسيطًا <code>file</code> ، ثم يقرؤه ويحلله (parses) ويُصرّفه (compiles)، ثم يعيد كائنا من النوع <code>[[Ruby/InstructionSequence|InstructionSequence]]</code> | ||
===[[Ruby/InstructionSequence/compile_option | التابع compile_option]]=== | ===[[Ruby/InstructionSequence/compile_option | التابع compile_option]]=== | ||
يعيد قاموسا يحتوي الخيارات الافتراضية المستخدمة | يعيد قاموسا يحتوي الخيارات الافتراضية المستخدمة من المصرّف. | ||
===[[Ruby/InstructionSequence/compile_option-3D | التابع compile_option=]]=== | ===[[Ruby/InstructionSequence/compile_option-3D | التابع compile_option=]]=== | ||
يضبط القيم الافتراضية لتحسين أداء المصرف | يضبط القيم الافتراضية لتحسين أداء المصرف | ||
===[[Ruby/InstructionSequence/disasm | التابع disasm]]=== | ===[[Ruby/InstructionSequence/disasm | التابع disasm]]=== | ||
يعيد سلسلة نصية (<code>[[Ruby/String|String]]</code>) تحتوي تعليمات قابلة للقراءة. | |||
===[[Ruby/InstructionSequence/disassemble | التابع disassemble]]=== | ===[[Ruby/InstructionSequence/disassemble | التابع disassemble]]=== | ||
يعيد سلسلة نصية (<code>[[Ruby/String|String]]</code>) تحتوي تعليمات قابلة للقراءة. | |||
===[[Ruby/InstructionSequence/load_from_binary | التابع load_from_binary]]=== | ===[[Ruby/InstructionSequence/load_from_binary | التابع load_from_binary]]=== | ||
يُحمّل | يُحمّل التابع <code>load_from_binary</code> <nowiki/>[[Ruby/InstructionSequence|سلسلة تعليمات]] من سلسلة نصية ثنائية (binary format String) مُنشأ بواسطة <code>[[Ruby/InstructionSequence/to binary|to_binary]]</code>. | ||
===[[Ruby/InstructionSequence/load_from_binary_extra_data | التابع load_from_binary_extra_data]]=== | ===[[Ruby/InstructionSequence/load_from_binary_extra_data | التابع load_from_binary_extra_data]]=== | ||
يُحمّل البيانات الإضافية المُضمّنة في السلسلة النصية الثنائية المعطاة | يُحمّل البيانات الإضافية المُضمّنة في السلسلة النصية الثنائية المعطاة. | ||
===[[Ruby/InstructionSequence/new | التابع new]]=== | ===[[Ruby/InstructionSequence/new | التابع new]]=== | ||
يأخذ وسيطًا <code>source</code> | يأخذ وسيطًا <code>source</code> ويُصرّفه إلى كائن من النوع <code>[[Ruby/InstructionSequence|InstructionSequence]]</code>. | ||
===[[Ruby/InstructionSequence/of | التابع of]]=== | ===[[Ruby/InstructionSequence/of | التابع of]]=== | ||
يُعيد | يُعيد التابع <code>of</code> <nowiki/>[[Ruby/InstructionSequence|سلسلة التعليمات]] التي تحتوي كائن <code>proc</code> أو <code>method</code> المعطى. | ||
== توابع النسخ العامة (Public Instance Methods) == | |||
===[[Ruby/InstructionSequence/absolute_path | التابع absolute_path]]=== | ===[[Ruby/InstructionSequence/absolute_path | التابع absolute_path]]=== | ||
يُعيد المسار المطلق | يُعيد المسار المطلق | ||
===[[Ruby/InstructionSequence/base_label | التابع base_label]]=== | ===[[Ruby/InstructionSequence/base_label | التابع base_label]]=== | ||
يُعيد التسمية الأساسية (base label) | يُعيد التسمية الأساسية (base label). | ||
===[[Ruby/InstructionSequence/disasm | التابع disasm]]=== | ===[[Ruby/InstructionSequence/disasm | التابع disasm]]=== | ||
يعيد سلسلة نصية (<code>[[Ruby/String|String]]</code>) تحتوي تعليمات قابلة للقراءة. | |||
===[[Ruby/InstructionSequence/disassemble | التابع disassemble]]=== | ===[[Ruby/InstructionSequence/disassemble | التابع disassemble]]=== | ||
يُعيد سلسلة نصية (<code>[[Ruby/String|String]]</code>) تحتوي تعليمات قابلة للقراءة. | |||
===[[Ruby/InstructionSequence/each_child | التابع each_child]]=== | ===[[Ruby/InstructionSequence/each_child | التابع each_child]]=== | ||
يًكرّر (Iterate) على جميع سلاسل التعليمات | يًكرّر (Iterate) الكتلة المعطاة على جميع سلاسل التعليمات المنحدرة مباشرة من سلسلة التعليمات التي استدعي معها. | ||
===[[Ruby/InstructionSequence/eval | التابع eval]]=== | ===[[Ruby/InstructionSequence/eval | التابع eval]]=== | ||
يقيّم (Evaluates) | يقيّم (Evaluates) سلسلة التعليمات ويُعيد النتيجة. | ||
===[[Ruby/InstructionSequence/first_lineno | التابع first_lineno]]=== | ===[[Ruby/InstructionSequence/first_lineno | التابع first_lineno]]=== | ||
يعيد رقم أول سطر في المصدر حيث تم | يعيد رقم أول سطر في المصدر حيث تم تحميلسلسلة التعليمات الحالية. | ||
===[[Ruby/InstructionSequence/inspect | التابع inspect]]=== | ===[[Ruby/InstructionSequence/inspect | التابع inspect]]=== | ||
يعيد تمثيلًا نصيا قابلًا للقراءة | يعيد تمثيلًا نصيا قابلًا للقراءة سلسلة التعليمات | ||
===[[Ruby/InstructionSequence/label | التابع label]]=== | ===[[Ruby/InstructionSequence/label | التابع label]]=== | ||
يُعيد تسمية (label) | يُعيد تسمية (label) لسلسلة التعليمات. | ||
===[[Ruby/InstructionSequence/path | التابع path]]=== | ===[[Ruby/InstructionSequence/path | التابع path]]=== | ||
يُعيد مسار | يُعيد مسار سلسلة التعليمات. | ||
===[[Ruby/InstructionSequence/to_a | التابع to_a]]=== | ===[[Ruby/InstructionSequence/to_a | التابع to_a]]=== | ||
يُعيد | يُعيد مصفوفة(<code>[[Ruby/Array|Array]]</code>) تتألف من 14 عنصرًا يمثلون سلسلة التعليمات. | ||
===[[Ruby/InstructionSequence/to_binary | التابع to_binary]]=== | ===[[Ruby/InstructionSequence/to_binary | التابع to_binary]]=== | ||
يُسلسل (serialize) | يُسلسل (serialize) سلسلة التعليمات | ||
===[[Ruby/InstructionSequence/trace_points | التابع trace_points]]=== | ===[[Ruby/InstructionSequence/trace_points | التابع trace_points]]=== | ||
يُعيد نقاط التعقب (trace points) في | يُعيد نقاط التعقب (trace points) في سلسلة التعليمات. | ||
*[http://ruby-doc.org/core-2.5.1/RubyVM/InstructionSequence.html قسم الصنف InstructionSequence في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/RubyVM/InstructionSequence.html قسم الصنف InstructionSequence في توثيق روبي الرسمي.] |
مراجعة 23:57، 1 نوفمبر 2018
يمثل الصنف InstructionSequence
تسلسلًا مصرّفًا (compiled sequence) للتعليمات الخاصة بالآلة الافتراضية (Virtual Machine) لروبي.
يمكّنك هذا الصنف من الحصول على مؤشر (handle) للتعليمات التي تشكل التابع أو الكتلة البرمجية، وتصريف (compile) سلاسل روبي النصية إلى تعليمات الآلة الافتراضية (VM)، وتفكيك التعليمات إلى سلاسل نصية لتسهيل فحصها.
هذا الصنف مفيد للغاية إن كنت ترغب في معرفة كيفية عمل آلة روبي الافتراضية، لكنه يتيح لك أيضًا التحكم في إعدادات مصرف روبي Ruby iseq compiler.
يمكنك العثور على مصدر إرشادات الآلة الافتراضية في الصفحة insns.def
في توثيق روبي.
من شبه المؤكد أن نتائج سلاسل التعليمات سوف تتغير مع تغير روبي، لذلك قد يكون ناتج الأمثلة في صفحات هذا التوثيق مختلفًا عما لديك.
توابع الصنف العامة (Public Class Methods)
التابع compile
يأخذ وسيطًا source
، ويُصرّفه (compiles) إلى كائن من النوع InstructionSequence
.
التابع compile_file
يأخذ وسيطًا file
، ثم يقرؤه ويحلله (parses) ويُصرّفه (compiles)، ثم يعيد كائنا من النوع InstructionSequence
التابع compile_option
يعيد قاموسا يحتوي الخيارات الافتراضية المستخدمة من المصرّف.
التابع compile_option=
يضبط القيم الافتراضية لتحسين أداء المصرف
التابع disasm
يعيد سلسلة نصية (String
) تحتوي تعليمات قابلة للقراءة.
التابع disassemble
يعيد سلسلة نصية (String
) تحتوي تعليمات قابلة للقراءة.
التابع load_from_binary
يُحمّل التابع load_from_binary
سلسلة تعليمات من سلسلة نصية ثنائية (binary format String) مُنشأ بواسطة to_binary
.
التابع load_from_binary_extra_data
يُحمّل البيانات الإضافية المُضمّنة في السلسلة النصية الثنائية المعطاة.
التابع new
يأخذ وسيطًا source
ويُصرّفه إلى كائن من النوع InstructionSequence
.
التابع of
يُعيد التابع of
سلسلة التعليمات التي تحتوي كائن proc
أو method
المعطى.
توابع النسخ العامة (Public Instance Methods)
التابع absolute_path
يُعيد المسار المطلق
التابع base_label
يُعيد التسمية الأساسية (base label).
التابع disasm
يعيد سلسلة نصية (String
) تحتوي تعليمات قابلة للقراءة.
التابع disassemble
يُعيد سلسلة نصية (String
) تحتوي تعليمات قابلة للقراءة.
التابع each_child
يًكرّر (Iterate) الكتلة المعطاة على جميع سلاسل التعليمات المنحدرة مباشرة من سلسلة التعليمات التي استدعي معها.
التابع eval
يقيّم (Evaluates) سلسلة التعليمات ويُعيد النتيجة.
التابع first_lineno
يعيد رقم أول سطر في المصدر حيث تم تحميلسلسلة التعليمات الحالية.
التابع inspect
يعيد تمثيلًا نصيا قابلًا للقراءة سلسلة التعليمات
التابع label
يُعيد تسمية (label) لسلسلة التعليمات.
التابع path
يُعيد مسار سلسلة التعليمات.
التابع to_a
يُعيد مصفوفة(Array
) تتألف من 14 عنصرًا يمثلون سلسلة التعليمات.
التابع to_binary
يُسلسل (serialize) سلسلة التعليمات
التابع trace_points
يُعيد نقاط التعقب (trace points) في سلسلة التعليمات.