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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
 
سطر 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|سلسلة التعليمات]] التي استدعي معها.
 +
 
 +
== البنية العامة ==
 +
<syntaxhighlight lang="ruby">to_a → ary‎</syntaxhighlight>
 +
==القيمة المعادة==
 +
تعاد [[Ruby/Array|مصفوفة]] تتألف من 14 عنصرًا يمثلون [[Ruby/InstructionSequence|سلسلة التعليمات]] بالبيانات التالية:
 
{| class="wikitable"
 
{| class="wikitable"
 
|<code>magic</code>                 
 
|<code>magic</code>                 
|[[Ruby/String|سلسلة نصية]] تحدد تشكيل (format) البيانات. دائما <code>YARVInstructionSequence/SimpleDataFormat</code>.
+
|[[Ruby/String|سلسلة نصية]] تحدد تنسيق (format) البيانات. دائمًا تكون <code>YARVInstructionSequence/SimpleDataFormat</code>.
 
|-
 
|-
 
| <code>major_version</code>  
 
| <code>major_version</code>  
سطر 15: سطر 20:
 
|-
 
|-
 
|<code>format_type</code>       
 
|<code>format_type</code>       
|عدد يمثل تشكيل البيانات.  
+
|عدد يمثل تنسيق البيانات. تكون دائمًا 1.  
 
|-
 
|-
 
|<code>misc</code>  
 
|<code>misc</code>  
|[[Ruby/Hash|قاموس]] يحتوي:
+
|[[Ruby/Hash|جدول Hash]] يحتوي على:
* ‎<code>:arg_size -</code> العدد الإجمالي للوسائط التي يأخذها التابع أو الكتلة (تساوي 0 إن لم تكن [[Ruby/InstructionSequence|سلسلة التعليمات]]  تمثل تابعًا أو كتلة)  
+
* ‎<code>:arg_size</code>: العدد الإجمالي للوسائط التي يأخذها التابع أو الكتلة (تساوي 0 إن لم تكن [[Ruby/InstructionSequence|سلسلة التعليمات]]  تمثل تابعًا أو كتلة).
* ‎<code>:local_size</code> - عدد المتغيرات المحلية + 1  
+
* ‎<code>:local_size</code>: عدد المتغيرات المحلية + 1.
* ‎<code>:stack_max</code> - يُستخدم لحساب عمق المكدس (stack) حيث أُطلِق الاستثناء <code>[[Ruby/SystemStackError|SystemStackError]]</code>.
+
* ‎<code>:stack_max</code>: يُستخدم لحساب عمق المكدس (stack) حيث أُطلِق الاستثناء <code>[[Ruby/SystemStackError|SystemStackError]]</code>.
 
|-
 
|-
 
|<code>label</code>
 
|<code>label</code>
|اسم السياق (block ، method ، class ، module إلخ) الذي تنتمي إليه [[Ruby/InstructionSequence|سلسلة التعليمات]]. يساوي <code><main></code> إن كانت [[Ruby/InstructionSequence|سلسلة التعليمات]] في المستوى الأعلى، أو <code><compiled></code> إذا تم تقييمها انطلاقًا من [[Ruby/String|سلسلة نصية]].  
+
|اسم السياق (مثل block ، method ، class ، module ...إلخ) الذي تنتمي إليه [[Ruby/InstructionSequence|سلسلة التعليمات]]. يساوي <code><main></code> إن كانت [[Ruby/InstructionSequence|سلسلة التعليمات]] في المستوى الأعلى، أو <code><compiled></code> إذا تم تقييمها انطلاقًا من [[Ruby/String|سلسلة نصية]].  
 
|-
 
|-
 
|<code>path</code>
 
|<code>path</code>
سطر 30: سطر 35:
 
|-
 
|-
 
|<code>absolute_path</code>
 
|<code>absolute_path</code>
|المسار المطلق لملف روبي حيث تم تحميل [[Ruby/InstructionSequence|سلسلة التعليمات]]. <code>nil</code> إذا تم تقييم [[Ruby/InstructionSequence|سلسلة التعليمات]] من [[Ruby/String|سلسلة نصية]].  
+
|المسار المطلق لملف روبي حيث تم تحميل [[Ruby/InstructionSequence|سلسلة التعليمات]]. يكون <code>nil</code> إذا تم تقييم [[Ruby/InstructionSequence|سلسلة التعليمات]] من [[Ruby/String|سلسلة نصية]].  
 
|-
 
|-
 
|<code>first_lineno</code>
 
|<code>first_lineno</code>
سطر 44: سطر 49:
 
|-
 
|-
 
|<code>params</code>  
 
|<code>params</code>  
|[[Ruby/Hash|قاموس]] يحتوي على معلومات عن الوسائط. يمكن العثور على مزيد من المعلومات حول هذه القيم في <code>vm_core.h</code>
+
|[[Ruby/Hash|جدول Hash]] يحتوي على معلومات عن الوسائط. يمكن العثور على مزيد من المعلومات حول هذه القيم في <code>vm_core.h</code>.
 
|-
 
|-
 
|<code>catch_table</code>  
 
|<code>catch_table</code>  
|قائمة بالاستثناءات ومعاملات التحكم (rescue و next و redo و break، إلخ).  
+
|قائمة بالاستثناءات ومعاملات التحكم (مثل rescue و next و redo و break، ...إلخ).  
 
|-
 
|-
 
|<code>bytecode</code>  
 
|<code>bytecode</code>  
 
|[[Ruby/Array|مصفوفة]] مكونة من مصفوفات تحتوي على أسماء التعليمات والعوامل (operands) التي تشكل نص [[Ruby/InstructionSequence|سلسلة التعليمات]].  
 
|[[Ruby/Array|مصفوفة]] مكونة من مصفوفات تحتوي على أسماء التعليمات والعوامل (operands) التي تشكل نص [[Ruby/InstructionSequence|سلسلة التعليمات]].  
 
|}
 
|}
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">to_a → ary‎</syntaxhighlight>
 
==القيمة المُعادة==
 
يُعيد التابع <code>to_a</code> [[Ruby/Array|مصفوفة]] (<code>[[Ruby/Array|Array]]</code>) تتألف من 14 عنصرًا يمثلون [[Ruby/InstructionSequence|سلسلة التعليمات]] بالبيانات التالية:
 
  
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/InstructionSequence/path|path]]</code>: يُعيد مسار [[Ruby/InstructionSequence|سلسلة التعليمات]] .
+
* التابع <code>[[Ruby/InstructionSequence/path|path]]</code>: يُعيد مسار [[Ruby/InstructionSequence|سلسلة التعليمات]] التي استدعي معها.
  
 
==مصادر==
 
==مصادر==
*[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) التي تشكل نص سلسلة التعليمات.

انظر أيضا

مصادر