الفرق بين المراجعتين ل"Ruby/InstructionSequence/to a"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>to_a‎</code> الخاص بالصنف <code>InstructionSequence</code> في روبي}}</noinclude> تصنيف: Ruby...')
 
ط (مراجعة وتدقيق.)
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>to_a‎</code> الخاص بالصنف <code>InstructionSequence</code> في روبي}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: التابع <code>InstructionSequence.to_a‎</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby InstructionSequence]]
 
[[تصنيف: Ruby InstructionSequence]]
يُعيد التابع <code>to_a</code> [[Ruby/Array|مصفوفة]] (<code>[[Ruby/Array|Array]]</code>) تتألف من 14 عنصرًا يمثلون [[Ruby/InstructionSequence|سلسلة التعليمات]] بالبيانات التالية:
+
يُعيد التابع <code>to_a</code> [[Ruby/Array|مصفوفة]] تتألف من 14 عنصرًا تحوي معلومات حول [[Ruby/InstructionSequence|سلسلة التعليمات]] التي استدعي معها.
magic [[Ruby/String|سلسلة نصية]] تحدد تشكيل (format) البيانات. دائما <code>YARVInstructionSequence/SimpleDataFormat</code>. major_version الإصدار الرئيسي ل[[Ruby/InstructionSequence|سلسلة التعليمات]]. minor_version الإصدار الثانوي ل[[Ruby/InstructionSequence|سلسلة التعليمات]]. format_type عدد يمثل تشكيل البيانات. misc [[Ruby/Hash|قاموس]] يحتوي :<code>:arg_size</code> العدد الإجمالي للوسائط التي يأخذها التابع أو الكتلة (تساوي 0 إن لم تكن [[Ruby/InstructionSequence|سلسلة التعليمات]] [[Ruby/InstructionSequence|سلسلة التعليمات]] تمثل تابعًا أو كتلة) <code>:local_size</code> عدد المتغيرات المحلية + 1 <code>:stack_max</code> يُستخدم لحساب عمق المكدس (stack) حيث أُطلِق الاستثناء <code>[[Ruby/SystemStackError|SystemStackError]]</code>.  <code>[[Ruby/InstructionSequence/label|label]]</code> اسم السياق (block ، method ، class ، module إلخ) الذي تنتمي إليه [[Ruby/InstructionSequence|سلسلة التعليمات]]. يساوي <code><main></code> إن كانت [[Ruby/InstructionSequence|سلسلة التعليمات]] في المستوى الأعلى، أو <code><compiled></code> إذا تم تقييمها انطلاقًا من [[Ruby/String|سلسلة نصية]]. <code>[[Ruby/InstructionSequence/path|path]]</code> المسار النسبي لملف روبي حيث تم تحميل [[Ruby/InstructionSequence|سلسلة التعليمات]]. تساوي <code><compiled></code> إذا تم تقييم [[Ruby/InstructionSequence|سلسلة التعليمات]] من [[Ruby/String|سلسلة نصية]]. <code>[[Ruby/InstructionSequence/absolute_path|absolute_path]]</code> المسار المطلق لملف روبي حيث تم تحميل [[Ruby/InstructionSequence|سلسلة التعليمات]]. <code>nil</code> إذا تم تقييم [[Ruby/InstructionSequence|سلسلة التعليمات]] من [[Ruby/String|سلسلة نصية]]. <code>[[Ruby/InstructionSequence/first_lineno|first_lineno]]</code> رقم أول سطر في المصدر حيث تم تحميل [[Ruby/InstructionSequence|سلسلة التعليمات]]. type نوع [[Ruby/InstructionSequence|سلسلة التعليمات]]. القيم الصالحة هي <code>:top</code> و <code>:method</code> و <code>:block</code> و <code>:class</code> و <code>:rescue</code> و <code>:ensure</code> و <code>:eval</code> و <code>:main</code> و <code>:defined_guard</code>. locals [[Ruby/Array|مصفوفة]] تحتوي أسماء جميع الوسائط والمتغيرات المحلية على هيئة رموز. params [[Ruby/Hash|قاموس]] <code>[[Ruby/Hash|Hash]]</code> يحتوي على معلومات عن الوسائط . يمكن العثور على مزيد من المعلومات حول هذه القيم في <code>vm_core.h</code>. catch_table قائمة بالاستثناءات ومعاملات التحكم (rescue و next و redo و break، إلخ). bytecode [[Ruby/Array|مصفوفة]] مكونة من مصفوفات تحتوي على أسماء التعليمات والعوامل (operands) التي تشكل نص ال[[Ruby/InstructionSequence|سلسلة التعليمات]].  
+
 
لاحظ أن هذا التشكيل هو خاص بالتحكم بالرنين المغناطيسي والإصدار المعتمد.
+
== البنية العامة ==
==البنية العامة==
 
 
<syntaxhighlight lang="ruby">to_a → ary‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">to_a → ary‎</syntaxhighlight>
==القيمة المُعادة==
+
==القيمة المعادة==
 +
تعاد [[Ruby/Array|مصفوفة]] تتألف من 14 عنصرًا يمثلون [[Ruby/InstructionSequence|سلسلة التعليمات]] بالبيانات التالية:
 +
{| class="wikitable"
 +
|<code>magic</code>               
 +
|[[Ruby/String|سلسلة نصية]] تحدد تنسيق (format) البيانات. دائمًا تكون <code>YARVInstructionSequence/SimpleDataFormat</code>.
 +
|-
 +
| <code>major_version</code>
 +
|الإصدار الرئيسي ل[[Ruby/InstructionSequence|سلسلة التعليمات]].
 +
|-
 +
|<code>minor_version</code>
 +
|الإصدار الثانوي ل[[Ruby/InstructionSequence|سلسلة التعليمات]].
 +
|-
 +
|<code>format_type</code>     
 +
|عدد يمثل تنسيق البيانات. تكون دائمًا 1.
 +
|-
 +
|<code>misc</code>
 +
|[[Ruby/Hash|جدول Hash]] يحتوي على:
 +
* ‎<code>:arg_size</code>: العدد الإجمالي للوسائط التي يأخذها التابع أو الكتلة (تساوي 0 إن لم تكن [[Ruby/InstructionSequence|سلسلة التعليمات]]  تمثل تابعًا أو كتلة).
 +
* ‎<code>:local_size</code>: عدد المتغيرات المحلية + 1.
 +
* ‎<code>:stack_max</code>: يُستخدم لحساب عمق المكدس (stack) حيث أُطلِق الاستثناء <code>[[Ruby/SystemStackError|SystemStackError]]</code>.
 +
|-
 +
|<code>label</code>
 +
|اسم السياق (مثل block ، method ، class ، module ...إلخ) الذي تنتمي إليه [[Ruby/InstructionSequence|سلسلة التعليمات]]. يساوي <code><main></code> إن كانت [[Ruby/InstructionSequence|سلسلة التعليمات]] في المستوى الأعلى، أو <code><compiled></code> إذا تم تقييمها انطلاقًا من [[Ruby/String|سلسلة نصية]].
 +
|-
 +
|<code>path</code>
 +
|المسار النسبي لملف روبي حيث تم تحميل [[Ruby/InstructionSequence|سلسلة التعليمات]]. تساوي <code><compiled></code> إذا تم تقييم [[Ruby/InstructionSequence|سلسلة التعليمات]] من [[Ruby/String|سلسلة نصية]].
 +
|-
 +
|<code>absolute_path</code>
 +
|المسار المطلق لملف روبي حيث تم تحميل [[Ruby/InstructionSequence|سلسلة التعليمات]]. يكون <code>nil</code> إذا تم تقييم [[Ruby/InstructionSequence|سلسلة التعليمات]] من [[Ruby/String|سلسلة نصية]].
 +
|-
 +
|<code>first_lineno</code>
 +
|رقم أول سطر في المصدر حيث تم تحميل [[Ruby/InstructionSequence|سلسلة التعليمات]].
 +
|-
 +
|<code>type</code>                                 
 +
|نوع [[Ruby/InstructionSequence|سلسلة التعليمات]].
 +
 
 +
القيم الصالحة هي ‎<code>:top</code> و ‎<code>:method</code> و ‎<code>:block</code> و ‎<code>:class</code> و ‎<code>:rescue</code> و‎ <code>:ensure</code> و‎ <code>:eval</code> و‎ <code>:main</code> و ‎<code>:defined_guard</code>.
 +
|-
 +
|<code>locals</code>
 +
|[[Ruby/Array|مصفوفة]] تحتوي أسماء جميع الوسائط والمتغيرات المحلية على هيئة رموز.
 +
|-
 +
|<code>params</code>
 +
|[[Ruby/Hash|جدول Hash]] يحتوي على معلومات عن الوسائط. يمكن العثور على مزيد من المعلومات حول هذه القيم في <code>vm_core.h</code>.
 +
|-
 +
|<code>catch_table</code>
 +
|قائمة بالاستثناءات ومعاملات التحكم (مثل rescue و next و redo و break، ...إلخ).
 +
|-
 +
|<code>bytecode</code>
 +
|[[Ruby/Array|مصفوفة]] مكونة من مصفوفات تحتوي على أسماء التعليمات والعوامل (operands) التي تشكل نص [[Ruby/InstructionSequence|سلسلة التعليمات]].
 +
|}
  
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/InstructionSequence/path|path]]</code>: يُعيد مسار [[Ruby/InstructionSequence|سلسلة التعليمات]] .
+
* التابع <code>[[Ruby/InstructionSequence/path|path]]</code>: يُعيد مسار [[Ruby/InstructionSequence|سلسلة التعليمات]] التي استدعي معها.
* التابع <code>[[Ruby/InstructionSequence/to_binary|to_binary]]</code>: يُسلسل (serialize)  [[Ruby/InstructionSequence|سلسلة التعليمات]]  تنسيق على هيئة [[Ruby/String|سلسلة نصية]] ثنائية <code>[[Ruby/String|String]]</code>. يتم إنشاء [[Ruby/InstructionSequence|سلسلة التعليمات]] مقابلة بواسطة التابع <code>[[Ruby/InstructionSequence/load_from_binary|::load_from_binary]]</code>.
 
  
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/RubyVM/InstructionSequence.html#method-i-to_a قسم التابع to_a‎ في الصنف InstructionSequence‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/RubyVM/InstructionSequence.html#method-i-to_a قسم التابع to_a‎ في الصنف InstructionSequence‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 08:16، 4 ديسمبر 2018

يُعيد التابع 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) التي تشكل نص سلسلة التعليمات.

انظر أيضا

مصادر