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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>new‎</code> الخاص بالصنف <code>InstructionSequence</code> في روبي}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: التابع <code>InstructionSequence.new‎</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby InstructionSequence]]
 
[[تصنيف: Ruby InstructionSequence]]
يأخذ التابع <code>new</code> وسيطًا <code>source</code> (انظر فقرة البنية العامة)، وهو [[Ruby/String|سلسلة نصية]] تحتوي أكواد برمجية بلغة روبي، ويُصرّفها (compiles it) إلى كائن من النوع <code>[[Ruby/InstructionSequence|InstructionSequence]]</code>.
+
يأخذ التابع <code>new</code> [[Ruby/String|سلسلة نصية]] تحوي شيفرات برمجية بلغة روبي، ويُصرّفها (compile) إلى كائن من النوع <code>[[Ruby/InstructionSequence|InstructionSequence]]</code>.
 
+
==البنية العامة==
اختياريا يأخذ التابع <code>new</code> الوسائط <code>file</code> و <code>path</code> و <code>line</code>، والتي تمثل اسم الملف، والمسار المطلق، ورقم السطر الأول لكود روبي الموجود في المصدر <code>source</code>، هذه الوسائط تمثل بيانات وصفية (metadata) مُرتبطة بالكائن المعاد <code>iseq</code>.
+
<syntaxhighlight lang="ruby">new(source[, file[, path[, line[, options]]]]) → iseq‎</syntaxhighlight>اختياريًّا، يأخذ التابع <code>new</code> المعاملات <code>file</code> و <code>path</code> و <code>line</code> التي تمثل اسم الملف، والمسار المطلق، ورقم السطر الأول لشيفرة روبي الموجودة في المصدر <code>source</code>؛ هذه المعاملات تمثل بيانات وصفية (metadata) مُرتبطة بالكائن <code>[[Ruby/InstructionSequence|iseq]]</code> المعاد.
  
يُستخدم الوسيط <code>options</code>، الذي يمكن أن تكون قيمته <code>true</code> أو <code>false</code> أو قاموسًا (<code>Hash</code>)، لتعديل السلوك الافتراضي لمصرف روبي Ruby iseq compiler.  
+
يُستخدَم المعامل <code>options</code>، الذي يمكن أن تكون قيمته <code>true</code> أو <code>false</code> أو جدول <code>[[Ruby/Hash|Hash]]</code>، لتعديل السلوك الافتراضي لمصرف iseq روبي.  
  
 
لمزيد من التفاصيل حول خيارات التصريف، راجع صفحة <code>[[Ruby/InstructionSequence/compile_option-3D|compile_option=‎]]</code>.
 
لمزيد من التفاصيل حول خيارات التصريف، راجع صفحة <code>[[Ruby/InstructionSequence/compile_option-3D|compile_option=‎]]</code>.
==البنية العامة==
 
<syntaxhighlight lang="ruby">new(source[, file[, path[, line[, options]]]]) → iseq‎</syntaxhighlight>
 
 
==المعاملات==
 
==المعاملات==
 
===<code>source‎</code>===
 
===<code>source‎</code>===
 
سلسلة نصية.
 
سلسلة نصية.
 
===<code>file‎</code>===
 
===<code>file‎</code>===
اسم الملف
+
اسم الملف.
 
===<code>path‎</code>===
 
===<code>path‎</code>===
المسار
+
المسار المطلق.
 
===<code>line‎</code>===
 
===<code>line‎</code>===
رقم السطر
+
رقم السطر.
 
===<code>options‎</code>===
 
===<code>options‎</code>===
خيارات
+
خيارات تعدل سلوك المصرِّف.
  
==القيمة المُعادة==
+
==القيمة المعادة==
يعيد كائنا من النوع <code>[[Ruby/InstructionSequence|InstructionSequence]]</code>.
+
يعاد كائنٌ من النوع <code>[[Ruby/InstructionSequence|InstructionSequence]]</code>.
  
 
==أمثلة==
 
==أمثلة==
سطر 31: سطر 29:
 
<syntaxhighlight lang="ruby">RubyVM::InstructionSequence.compile("a = 1 + 2")
 
<syntaxhighlight lang="ruby">RubyVM::InstructionSequence.compile("a = 1 + 2")
 
#=> <RubyVM::InstructionSequence:<compiled>@<compiled>>‎</syntaxhighlight>
 
#=> <RubyVM::InstructionSequence:<compiled>@<compiled>>‎</syntaxhighlight>
==انظر أيضا==
+
==انظر أيضًا==
* التابع <code>[[Ruby/InstructionSequence/load_from_binary_extra_data|load_from_binary_extra_data]]</code>: يُحمّل البيانات الإضافية المُضمّنة في السلسلة النصية الثنائية المعطاة (binary format String) .
+
* التابع [[Ruby/InstructionSequence/compile option-3D|<code>compile_option=‎</code>]]: يضبط عند استدعائه بالشكل <code>compile_option = options‎</code> القيم الافتراضية إلى القيم <code>options‎</code> لتحسين أداء المصرف iseq لروبي.
 +
 
 +
* التابع <code>[[Ruby/InstructionSequence/load_from_binary_extra_data|load_from_binary_extra_data]]</code>: يُحمّل البيانات الإضافية المُضمّنة في السلسلة النصية الثنائية المعطاة (binary format String) .
  
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/RubyVM/InstructionSequence.html#method-c-new قسم التابع new‎ في الصنف InstructionSequence‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/RubyVM/InstructionSequence.html#method-c-new قسم التابع new‎ في الصنف InstructionSequence‎ في توثيق روبي الرسمي.]

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

يأخذ التابع new سلسلة نصية تحوي شيفرات برمجية بلغة روبي، ويُصرّفها (compile) إلى كائن من النوع InstructionSequence.

البنية العامة

new(source[, file[, path[, line[, options]]]])  iseq

اختياريًّا، يأخذ التابع new المعاملات file و path و line التي تمثل اسم الملف، والمسار المطلق، ورقم السطر الأول لشيفرة روبي الموجودة في المصدر source؛ هذه المعاملات تمثل بيانات وصفية (metadata) مُرتبطة بالكائن iseq المعاد.

يُستخدَم المعامل options، الذي يمكن أن تكون قيمته true أو false أو جدول Hash، لتعديل السلوك الافتراضي لمصرف iseq روبي.

لمزيد من التفاصيل حول خيارات التصريف، راجع صفحة compile_option=‎.

المعاملات

source‎

سلسلة نصية.

file‎

اسم الملف.

path‎

المسار المطلق.

line‎

رقم السطر.

options‎

خيارات تعدل سلوك المصرِّف.

القيمة المعادة

يعاد كائنٌ من النوع InstructionSequence.

أمثلة

مثال على استخدام التابع new‎:

RubyVM::InstructionSequence.compile("a = 1 + 2")
#=> <RubyVM::InstructionSequence:<compiled>@<compiled>>‎

انظر أيضًا

  • التابع compile_option=‎: يضبط عند استدعائه بالشكل compile_option = options‎ القيم الافتراضية إلى القيم options‎ لتحسين أداء المصرف iseq لروبي.
  • التابع load_from_binary_extra_data: يُحمّل البيانات الإضافية المُضمّنة في السلسلة النصية الثنائية المعطاة (binary format String) .

مصادر