الفرق بين المراجعتين لصفحة: «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) التي تشكل نص سلسلة التعليمات.

انظر أيضا

مصادر