الفرق بين المراجعتين ل"Ruby/InstructionSequence/to a"
< Ruby | InstructionSequence
اذهب إلى التنقل
اذهب إلى البحث
جميل-بيلوني (نقاش | مساهمات) ط (مراجعة وتدقيق.) |
|||
سطر 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> | ||
+ | ==القيمة المعادة== | ||
+ | تعاد [[Ruby/Array|مصفوفة]] تتألف من 14 عنصرًا يمثلون [[Ruby/InstructionSequence|سلسلة التعليمات]] بالبيانات التالية: | ||
{| class="wikitable" | {| class="wikitable" | ||
|<code>magic</code> | |<code>magic</code> | ||
− | |[[Ruby/String|سلسلة نصية]] تحدد | + | |[[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>:arg_size</code>: العدد الإجمالي للوسائط التي يأخذها التابع أو الكتلة (تساوي 0 إن لم تكن [[Ruby/InstructionSequence|سلسلة التعليمات]] تمثل تابعًا أو كتلة). |
− | * <code>:local_size</code> | + | * <code>:local_size</code>: عدد المتغيرات المحلية + 1. |
− | * <code>:stack_max</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| | + | |[[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|سلسلة التعليمات]]. | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
==انظر أيضا== | ==انظر أيضا== | ||
− | * التابع <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
: يُعيد مسار سلسلة التعليمات التي استدعي معها.