الفرق بين المراجعتين ل"Ruby/InstructionSequence/to a"
< Ruby | InstructionSequence
اذهب إلى التنقل
اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>to_a</code> الخاص بالصنف <code>InstructionSequence</code> في روبي}}</noinclude> تصنيف: Ruby...') |
جميل-بيلوني (نقاش | مساهمات) ط (مراجعة وتدقيق.) |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 1: | سطر 1: | ||
− | <noinclude>{{DISPLAYTITLE: التابع <code>to_a | + | <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>to_a</code> [[Ruby/Array|مصفوفة]] تتألف من 14 عنصرًا تحوي معلومات حول [[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|سلسلة التعليمات]] التي استدعي معها. |
− | |||
==مصادر== | ==مصادر== | ||
− | *[http://ruby-doc.org/core-2.5.1/RubyVM/InstructionSequence.html#method-i-to_a قسم | + | *[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 يحتوي على:
|
label
|
اسم السياق (مثل block ، method ، class ، module ...إلخ) الذي تنتمي إليه سلسلة التعليمات. يساوي <main> إن كانت سلسلة التعليمات في المستوى الأعلى، أو <compiled> إذا تم تقييمها انطلاقًا من سلسلة نصية.
|
path
|
المسار النسبي لملف روبي حيث تم تحميل سلسلة التعليمات. تساوي <compiled> إذا تم تقييم سلسلة التعليمات من سلسلة نصية.
|
absolute_path
|
المسار المطلق لملف روبي حيث تم تحميل سلسلة التعليمات. يكون nil إذا تم تقييم سلسلة التعليمات من سلسلة نصية.
|
first_lineno
|
رقم أول سطر في المصدر حيث تم تحميل سلسلة التعليمات. |
type
|
نوع سلسلة التعليمات.
القيم الصالحة هي |
locals
|
مصفوفة تحتوي أسماء جميع الوسائط والمتغيرات المحلية على هيئة رموز. |
params
|
جدول Hash يحتوي على معلومات عن الوسائط. يمكن العثور على مزيد من المعلومات حول هذه القيم في vm_core.h .
|
catch_table
|
قائمة بالاستثناءات ومعاملات التحكم (مثل rescue و next و redo و break، ...إلخ). |
bytecode
|
مصفوفة مكونة من مصفوفات تحتوي على أسماء التعليمات والعوامل (operands) التي تشكل نص سلسلة التعليمات. |
انظر أيضا
- التابع
path
: يُعيد مسار سلسلة التعليمات التي استدعي معها.