نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
الصنف InstructionSequence في روبي
يمثل الصنف InstructionSequence تسلسلًا مصرّفًا (compiled sequence) للتعليمات الخاصة بالآلة الافتراضية (Virtual Machine) لروبي. يمكّنك هذا الصنف من الحصول على مؤشر (handle) للتعليمات التي تشكل التابع أو الكتلة البرمجية، وتصريف (compile) سلاسل روبي النصية إلى تعليمات الآلة الافتراضية (VM)، وتفكيك التعليمات إلى سلاسل نصية لتسهيل فحصها. هذا الصنف مفيد للغاية إن كنت ترغب في معرفة كيفية عمل آلة روبي الافتراضية، لكنه يتيح لك أيضًا التحكم في إعدادات المُصرِّف iseq لروبي. يمكنك العثور على مصدر إرشادات الآلة الافتراضية في الصفحة insns.defفي ...
التابع InstructionSequence.compile_file في روبي
يقرأ التابع compile_file ملف روبي المصدري ذا المسار المُمرَّر إليه ويحلله (parses) ويُصرّفه (compiles) ثم يعيد iseq، الذي هو الكائن InstructionSequence المصرَّف مع البيانات الوصفية (metadata) للمصدر. البنية العامة compile_file(file[, options]) → iseq
اختياريًّا، يأخذ التابع compile_file المعامل options، الذي يمكن أن تكون قيمته true أو false أو جدول Hash، لتعديل السلوك الافتراضي للمصرِّف. لمزيد من التفاصيل بخصوص خيارات التصريف، راجع الصفحة compile_option=. المعاملات file سلسلة نصية تحدد موقع الملف المصدري. options خيارات تتحكم بالمصرِّف. القيمة المعادة يعاد كائنٌ من النوع InstructionSequence. ...
التابع compile الخاص بالصنف InstructionSequence في روبي
يأخذ التابع compile وسيطًا source (انظر فقرة البنية العامة)، والذي هو سلسلة نصية (String) تحتوي على أكواد برمجية لروبي ويُصرّفها (compiles) إلى كائن من النوع InstructionSequence. يأخذ التابع compile اختياريا الوسائطً file و path و line التي تمثل اسم الملف والمسار المطلق ورقم السطر الأول من كود روبي في المصدر source، والتي هي بيانات وصفية (metadata) تُربط بالكائن المُعاد iseq. يتم استخدام الوسيط options، والذي يمكن أن تكون قيمته true أو false أو قاموسًا (Hash)، لتعديل السلوك الافتراضي لمصرّف روبيRuby سلسلة التعليمات ...
التابع InstructionSequence.compile في روبي
يصرِّف التابع compile السلسلة النصية المُمرَّرة إليه والتي تحتوي على أكواد برمجية لروبي إلى كائن من النوع InstructionSequence. البنية العامة compile(source[, file[, path[, line[, options]]]]) → iseq
يأخذ التابع compile اختياريًّا المعاملات file و path و line التي تمثل اسم الملف والمسار المطلق ورقم السطر الأول من كود روبي في المصدر source؛ هذه المعاملات هي بيانات وصفية (metadata) تُربط بالكائن المُعاد. يتم استخدام المعامل options، والذي يمكن أن تكون قيمته true أو false أو جدول Hash، لتعديل السلوك الافتراضي لمصرّف روبي. لمزيد من ...
التابع InstructionSequence.new في روبي
يأخذ التابع new سلسلة نصية تحوي شيفرات برمجية بلغة روبي، ويُصرّفها (compile) إلى كائن من النوع InstructionSequence. البنية العامة new(source[, file[, path[, line[, options]]]]) → iseq
اختياريًّا، يأخذ التابع new المعاملات file و path و line التي تمثل اسم الملف، والمسار المطلق، ورقم السطر الأول لشيفرة روبي الموجودة في المصدر source؛ هذه المعاملات تمثل بيانات وصفية (metadata) مُرتبطة بالكائن iseq المعاد. يُستخدَم المعامل options، الذي يمكن أن تكون قيمته true أو false أو جدول Hash، لتعديل السلوك الافتراضي لمصرف iseq روبي. لمزيد من ...
التابع InstructionSequence.first_lineno في روبي
يعيد التابع first_lineno رقم أول سطر في المصدر حيث تم تحميل سلسلة التعليمات الحالية. البنية العامة first_lineno()
القيمة المعادة يعاد رقم أول سطر في المصدر حيث تم تحميل سلسلة التعليمات الحالية. أمثلة مثال على استخدام التابع first_lineno: iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
#=> <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.first_lineno
#=> 1
انظر أيضًا التابع inspect: يحول سلسلة التعليمات إلى سلسلة نصية قابلة للقراءة. مصادر قسم التابع first_lineno في الصنف InstructionSequence في توثيق روبي الرسمي.
التابع InstructionSequence.disasm في روبي
يعيد تابع النسخة disasm سلسلة التعليمات المعطاة على هيئة سلسلة نصية قابلة للقراءة. البنية العامة disasm → str
القيمة المعادة تعاد سلسلة نصية تحوي سلسلة التعليمات بشكل قابل للقراءة. أمثلة مثال على استخدام التابع disasm: puts RubyVM::InstructionSequence.compile('1 + 2').disasm
الناتج سيكون: == disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1 ...
التابع InstructionSequence.base_label في روبي
يُعيد التابع base_label التسمية الأساسية (base label) لسلسلة التعليمات التي استُدعي معها. البنية العامة base_label()
القيمة المعادة تعاد التسمية الأساسية (base label) لسلسلة التعليمات التي استُدعي معها. أمثلة مثال على استخدام التابع base_label: iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
#=> <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.base_label
#=> "<compiled>"
مثال آخر على استعمال التابع base_label مع استخدام التابع compile_file: # /tmp/method.rb
def hello
puts "hello, world"
end
# in irb
> iseq = RubyVM::InstructionSequence.compile_file('/tmp/method.rb')
> iseq.base_label #=> <main>
انظر أيضًا التابع absolute_path: يُعيد المسار المطلق لسلسلة التعليمات المعطاة. مصادر قسم التابع base_label في الصنف ...
التابع InstructionSequence.compile_option في روبي
يعيد التابع compile_option كائنًا من النوع Hash يحوي الخيارات الافتراضية المستخدمة من المصرف iseq لروبي. لمزيد من التفاصيل، انتقل إلى صفحة التابع compile_option=. البنية العامة compile_option → options
القيمة المعادة يعاد كائنٌ من النوع Hash يحوي الخيارات الافتراضية المستخدمة من المصرف iseq لروبي. انظر أيضًا التابع compile_file: يقرأ ملف روبي المصدري ذا المسار المُمرَّر إليه ويحلله (parses) ويُصرّفه (compiles) ثم يعيد iseq، الذي هو الكائن InstructionSequence المصرَّف مع البيانات الوصفية (metadata) للمصدر. التابع compile_option=: يضبط عند استدعائه بالشكل compile_option = options القيم الافتراضية ...
التابع InstructionSequence.of في روبي
يُعيد التابع of سلسلة التعليمات التي تحوي الكائن Proc أو Method المعطى. البنية العامة of(p1)
أمثلة مثال على استعمال التابع of باستخدام irb: # a proc
> p = proc { num = 1 + 2 }
> RubyVM::InstructionSequence.of(p)
> #=> <RubyVM::InstructionSequence:block in irb_binding@(irb)>
# for a method
> def foo(bar); puts bar; end
> RubyVM::InstructionSequence.of(method(:foo))
> #=> <RubyVM::InstructionSequence:foo@(irb)>
أو باستخدام compile_file: # /tmp/iseq_of.rb
def hello
puts "hello, world"
end
$a_global_proc = proc { str = 'a' + 'b' }
# in irb
> require '/tmp/iseq_of.rb'
# first the method hello
> RubyVM::InstructionSequence.of(method(:hello))
> #=> ...