نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

الصنف 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)) > #=> ...

تابع النسخة InstructionSequence.disassemble‎ في روبي

يعيد تابع النسخة disassemble سلسلة التعليمات المعطاة على هيئة سلسلة نصية قابلة للقراءة. البنية العامة disassemble → str القيمة المعادة تعاد سلسلة نصية تحوي سلسلة التعليمات بشكل قابل للقراءة. أمثلة مثال على استخدام التابع disassemble‎: puts RubyVM::InstructionSequence.compile('1 + 2').disasm الناتج سيكون: == disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>========== 0000 trace 1 ...

التابع InstructionSequence.path‎ في روبي

يُعيد التابع path مسار سلسلة التعليمات التي استُدعي معها، أو يعيد <compiled> إذا تم تقييم سلسلة التعليمات انطلاقًا من سلسلة نصية. البنية العامة path() القيمة المعادة يعاد مسار سلسلة التعليمات المعطاة، أو يعاد <compiled> إذا تم تقييم سلسلة التعليمات انطلاقًا من سلسلة نصية. أمثلة مثال على استخدام التابع path‎ مع irb: iseq = RubyVM::InstructionSequence.compile('num = 1 + 2') #=> <RubyVM::InstructionSequence:<compiled>@<compiled>> iseq.path #=> "<compiled>"‎ مثال آخر على استخدام التابع path‎ مع compile_file: # /tmp/method.rb def hello puts "hello, world" end # in irb > iseq = RubyVM::InstructionSequence.compile_file('/tmp/method.rb') > iseq.path ...

التابع InstructionSequence.label‎ في روبي

يُعيد التابع label تسمية (label) سلسلة التعليمات التي استُدعي معها، أو يعيد <main> إن كان التسلسل في المستوى الأعلى (top level)، أو يعيد <compiled> إذا تم تقييمها من سلسلة نصية. البنية العامة label() القيمة المعادة تعاد تسمية (label) سلسلة التعليمات المعطاة، أو يعاد <main> إن كان التسلسل في المستوى الأعلى (at the top level)، أو يعاد <compiled> إذا تم تقييمها من سلسلة نصية. أمثلة مثال على استخدام التابع label‎ مع irb: iseq = RubyVM::InstructionSequence.compile('num = 1 + 2') #=> <RubyVM::InstructionSequence:<compiled>@<compiled>> iseq.label #=> "<compiled>"‎ مثال آخر ...

التابع InstructionSequence.to_binary‎ في روبي

يُسلسل (serialize) التابع to_binary سلسلة التعليمات التي استُدعي معها على هيئة سلسلة نصية ثنائية (binary). يتم إنشاء سلسلة تعليمات بعد تحويلها باستعمال هذا التابع بواسطة التابع load_from_binary. لاحظ أن البيانات الثنائية المترجمة ليست محمولة (portable). لا يمكنك نقل هذه البيانات الثنائية إلى جهاز آخر. كما لا يمكنك استخدام البيانات الثنائية التي تم إنشاؤها بواسطة إصدار آخر من روبي. البنية العامة to_binary(extra_data = nil) → binary str‎ المعاملات extra_data سيتم حفظ المعامل extra_data المعطى مع البيانات الثنائية. يمكنك الوصول إلى هذه البيانات ...

التابع InstructionSequence.inspect‎ في روبي

يحول التابع inspect سلسلة التعليمات التي استُدعي معها إلى سلسلة نصية قابلة للقراءة تتضمن أيضًا الاسم والمسار. البنية العامة inspect() القيمة المعادة تعاد سلسلة نصية قابلة للقراءة لسلسلة التعليمات المعطاة، التي تتضمن أيضًا الاسم والمسار. انظر أيضًا التابع first_lineno: يعيد رقم أول سطر في المصدر حيث تم تحميل تسلسل التعليمات الحالي. التابع label: يُعيد تسمية (label) سلسلة التعليمات. مصادر قسم التابع inspect‎ في الصنف InstructionSequence‎ في توثيق روبي الرسمي.

التابع InstructionSequence.disasm‎ في روبي

يأخذ التابع disasm كائنًا يمكن أن يكون من النوع Method أو من النوع Proc ويعيد سلسلة نصية تعليمات قابلة للقراءة لهذا المعامل المعطى. البنية العامة disasm(body) → str disassemble(body) → str‎ المعاملات body‎ كائن من النوع Method أو من النوع Proc. القيمة المعادة تعاد سلسلة نصية تحوي المعامل body على هيئة تعليمات قابلة للقراءة. أمثلة مثال على استخدام التابع disasm‎ مع تمرير الكائن Method إليه: # /tmp/method.rb def hello puts "hello, world" end puts RubyVM::InstructionSequence.disasm(method(:hello)) الناتج سيكون: == disasm: <RubyVM::InstructionSequence:hello@/tmp/method.rb>============ 0000 trace ...

التابع InstructionSequence.compile_option=‎ في روبي

يضبط التابع compile_option عند استدعائه بالشكل compile_option = options‎ القيم الافتراضية إلى القيم options‎ لتحسين أداء المصرف iseq لروبي. البنية العامة compile_option = options‎ تتضمن القيم المحتملة للخيارات options القيمة true، التي تفعِّل جميع الخيارات، والقيمة false، التي تعطل جميع الخيارات، والقيمة nil، التي تترك كل الخيارات دون تغيير. يمكن أن يكون options جدول Hash يحوي الخيارات التي تريد تغييرها، وسيتم آنذاك ترك أية خيارات غير موجودة في الجدول دون تغيير. تشمل أسماء الخيارات الممكنة (والتي ستكون مفاتيح في الجدول Hash) ...

التابع InstructionSequence.each_child‎ في روبي

يًكرّر التابع each_child الكتلة المعطاة على جميع سلاسل التعليمات المنحدرة مباشرة من سلسلة التعليمات التي استُدعي معها. ترتيب التكرار يرتبط بطريقة التقديم (implementation) وبالإصدار المُستخدم، لذلك عليك ألا تعوّل على ترتيب معين. البنية العامة each_child{|child_iseq| ...} → iseq‎ القيمة المعادة تعاد سلسلة تعليمات الناتجة عن تنفيذ الكتلة على جميع سلاسل التعليمات المنحدرة مباشرة من سلسلة التعليمات المعطاة. انظر أيضًا التابع eval: يقيّم سلسلة التعليمات المعطاة ويُعيد النتيجة. مصادر قسم التابع each_child‎ في الصنف InstructionSequence‎ في توثيق روبي الرسمي.

التابع InstructionSequence.disassemble‎ في روبي

يأخذ التابع disassemble المعامل body، والذي سيكون إما كائنًا من النوع Method، أو من النوع Proc، ثم يُعيد سلسلة نصية تحوي هذا المعامل على هيئة تعليمات قابلة للقراءة. البنية العامة disasm(body) → str disassemble(body) → str‎ المعاملات body‎ كائن من النوع Method أو من النوع Proc. القيمة المعادة تعاد سلسلة نصية تحوي محتوى المعامل body على هيئة تعليمات قابلة للقراءة. أمثلة مثال على استخدام التابع disassemble‎ مع كائن من النوع Method: # /tmp/method.rb def hello puts "hello, world" end puts RubyVM::InstructionSequence.disasm(method(:hello))‎ الناتج سيكون: == disasm: ...

التابع InstructionSequence.trace_points‎ في روبي

يُعيد التابع trace_points نقاط التعقب (trace points) في سلسلة التعليمات التي استدعي معها على هيئة مصفوفة من الأزواج [line، event_symbol]. البنية العامة trace_points → ary‎ القيمة المعادة تعاد نقاط التعقب (trace points) في سلسلة التعليمات على هيئة مصفوفة من الأزواج [line، event_symbol]. انظر أيضًا التابع to_binary: يُسلسل (serialize) سلسلة التعليمات على هيئة سلسلة نصية ثنائية. مصادر قسم التابع trace_points‎ في الصنف InstructionSequence‎ في توثيق روبي الرسمي.

التابع InstructionSequence.load_from_binary‎ في روبي

يُحمّل التابع load_from_binary سلسلة تعليمات من سلسلة نصية ثنائية (binary format String) مُنشأ بواسطة to_binary. ليس لهذا المُحمَِل أداة تحقيق، لذا فإن تحميل سلسة نصية ثنائي معطوبة أو مُعدّلة قد يتسبب في حدوث مشاكل. عليك ألا تُحمّل البيانات الثنائية المقدمة من قبل الآخرين. يجب عليك استخدام البيانات الثنائية المترجمة من طرفك فقط. البنية العامة RubyVM::InstructionSequence.load_from_binary(binary) → iseq‎ المعاملات binary‎ سلسلة نصية ثنائية. القيمة المعادة يعيد التابع load_from_binary سلسلة تعليمات. انظر أيضًا التابع load_from_binary_extra_data: يُحمّل البيانات الإضافية المُضمّنة في السلسلة النصية الثنائية (binary format ...

التابع InstructionSequence.load_from_binary_extra_data‎ في روبي

يُحمّل التابع load_from_binary_extra_data البيانات الإضافية المُضمّنة في السلسلة النصية الثنائية (binary format String) المعطاة. البنية العامة RubyVM::InstructionSequence.load_from_binary_extra_data(binary) → str‎ المعاملات binary‎ سلسلة نصية ثنائية (binary format String). القيمة المعادة تعاد البيانات الإضافية المُضمّنة في السلسلة النصية الثنائية المعطاة. انظر أيضا التابع load_from_binary: يُحمّل سلسلة تعليمات من سلسلة نصية ثنائية (binary format String) مُنشأ بواسطة to_binary. مصادر قسم التابع load_from_binary_extra_data‎ في الصنف InstructionSequence‎ في توثيق روبي الرسمي.

التابع InstructionSequence.to_a‎ في روبي

يُعيد التابع to_a مصفوفة تتألف من 14 عنصرًا تحوي معلومات حول سلسلة التعليمات التي استدعي معها. البنية العامة to_a → ary‎ القيمة المعادة تعاد مصفوفة تتألف من 14 عنصرًا يمثلون سلسلة التعليمات بالبيانات التالية: magic سلسلة نصية تحدد تنسيق (format) البيانات. دائمًا تكون YARVInstructionSequence/SimpleDataFormat. major_version الإصدار الرئيسي لسلسلة التعليمات. minor_version الإصدار الثانوي لسلسلة التعليمات. format_type عدد يمثل تنسيق البيانات. تكون دائمًا 1. misc جدول Hash يحتوي على: ‎:arg_size: العدد الإجمالي للوسائط التي يأخذها التابع أو الكتلة (تساوي 0 إن لم تكن ...

التابع InstructionSequence.eval‎ في روبي

يقيّم (Evaluates) التابع eval سلسلة التعليمات المعطاة ويُعيد النتيجة. البنية العامة eval → obj‎ القيمة المعادة يعاد ناتج تقييم سلسلة التعليمات المعطاة. أمثلة مثال على استخدام التابع eval‎: RubyVM::InstructionSequence.compile("1 + 2").eval #=> 3‎ انظر أيضًا التابع each_child: يًكرّر تنفيذ الكتلة المعطاة على جميع سلاسل التعليمات المنحدرة مباشرة من سلسلة التعليمات التي استُدعي معها. مصادر قسم التابع eval‎ في الصنف InstructionSequence‎ في توثيق روبي الرسمي.

التابع InstructionSequence.absolute_path‎ في روبي

يُعيد التابع absolute_path المسار المطلق لسلسلة التعليمات المعطاة، أو يعيد القيمة nil إذا تم تقييم سلسلة التعليمات التي استُدعي معها انطلاقًا من سلسلة نصية. البنية العامة absolute_path() القيمة المُعادة يُعيد التابع absolute_path المسار المطلق لسلسلة التعليمات. أمثلة مثال على استعمال التابع absolute_path مع استخدام التابع compile_file: # /tmp/method.rb def hello puts "hello, world" end # in irb > iseq = RubyVM::InstructionSequence.compile_file('/tmp/method.rb') > iseq.absolute_path #=> /tmp/method.rb‎ انظر أيضًا التابع of: يُعيد سلسلة التعليمات التي تحوي الكائن Proc أو Method المعطى. التابع base_label: يُعيد التسمية الأساسية (base label) لسلسلة التعليمات ...

Ruby/Topics

تثبيت روبي توجد طرائق عدَّة لتنزيل وتثبيت روبي على كل منصة وهي: إمَّا استعمال أنظمة مدير الحزم، أو باستعمال المثبِّتات التلقائية، أو باستعمال مدراء روبي. هنالك طريقة أخرى يمكنك بالتأكيد استعمالها لتثبيت روبي وتصريف شيفراتها وهي بنائها من الشيفرة المصدرية مباشرةً. حول روبي يوفر هذا القسم لمحة سريعة عن لغة روبي ونشأتها، وتطورها، ومزاياها التي انفردت بها عن اللغات الأخرى، والتنفيذات المختلفة التي تملكها. البنية العامة بنية اللغة تعد روبي مزيجًا من اللغات البرمجية التالية: Perl، و Smalltalk، و Eiffel، ...

التحسينات في روبي

إن ميّزة الأصناف المفتوحة في لغة روبي تسمح لك بإعادة تعريف أو إضافة وظائف إلى أصناف معرّفة مسبقًا. وهذا ما يسمى بمصطلح "ترقيع القرد" (monkey patch). المشكلة هنا أنَّ تعديلات من هذا النوع تكون مرئيّة على المستوى العام (global)، وبالتالي جميع مستخدمي الصنف المرقّع قادرون على رؤية هذه التغييرات، ممّا قد يسبّب تأثيرات جانبيّة غير محسوبة أو حتى عطب في البرامج. تأتي التحسينات هنا لتقلّل أثر ترقيع القرد على مستخدمي الصنف الآخرين، إذ تقدّم طريقة لتوسيع الصنف محليًّا. وإليك مثال ...

التوابع في روبي

تتضمّن التوابع في لغة روبي الوظائف التي يقوم بها برنامجك. إليك هذا المثال لتعريف تابع بسيط: def one_plus_one  1 + 1 end  تعريف التابع يتكوّن من الكلمة المحجوزة def يتبعها اسم التابع، ثمّ جسم التابع، فالقيمة المعادة وفي النهاية الكلمة المحجوزة end. فعند تنفيذ التابع في المثال السابق، ستُعاد القيمة 2. هذا القسم سيغطّي تعريف التّوابع. ارجع إلى توثيق استدعاء التوابع لتتعرف على الصيغ المستخدمة لذلك الغرض. تسمية التوابع يمكن أن تستخدم لاسم التابع أحد المعاملات، وإلا فعليك أن تبتدئه بحرف أبجديّ أو ...

الإسناد في روبي

لكي نسند شيئًا في لغة روبي، نستخدم رمز المساواة =؛ ففي المثال التّالي، يُسنَد العدد 5 إلى المتغيّر v المحلّي: v = 5 فالإسناد يُنشئ متغيّرًا محلّيًا جديدًا إذا لم يكن قد عُرِّفَ من قبل. أسماء المتغيرات المحلية اسم المتغيّر المحلّي يجب أن يبدأ بحرف صغير من مجموعة المحارف US-ASCII أو من مجموعة المحارف التي تُمثَّل باستخدام ثمان بتات ثنائيّة. وبشكلٍ عام، فإنّ أسماء المتغيّرات المحلّية متوافقة مع US-ASCII كون الأزرار التي تستخدم لكتابتها موجودة في جميع لوحات المفاتيح. عمومًا، جميع ...

تثبيت روبي على مختلف المنصات

توجد عدة طرق لتنزيل وتثبيت روبي على كل منصة وهي: في لينكس (والأنظمة الشبيه بيونكس)، تستطيع استعمال نظام مدير الحزم لتوزيعتك (الطريقة الأسهل) أو أية أداة من طرف ثالث (مثل rbenv و RVM). على أي حال، إصدار روبي المثبت عن طريق نظام مدير الحزم قد لا يكون هو الإصدار الأحدث، لذا انتبه لهذا الأمر. في macOS، يمكنك استعمال مدير الحزم أو أداة من طرف ثالث (مثل rbenv و RVM). في ويندوز، تستطيع استخدام RubyInstaller. يمكنك باستعمال المثبِّت هذا تثبيت إصدار ...

معلومات إضافية عن روبي

هل تساءلت يومًا لماذا روبي مشهورة إلى هذا الحد؟ يقول المعجبون بها أنَّها لغة جميلة وذات بنية متقنة. ويقولون أيضًا أنَّها لغة عملية وسهلة الاستعمال. فماذا تعطي وبماذا تتمتع؟ مثالية منشئ لغة روبي حققت لغة روبي توازنًا دقيقًا بين لغات البرمجة. عمل منشئ هذا اللغة - الياباني Yukihiro “Matz” Matsumoto - على دمج أجزاءٍ من لغات البرمجة المفضلة لديه (Perl، و Smalltalk، و Eiffel، و Ada، و Lisp) لإنشاء لغة جديدة تحقق التوازن بين البرمجة الوظيفية (functional programming) والبرمجة الأمرية ...

التابع Object.instance_variable_set في روبي

يُعيِّن التابع instance_variable_set قيمة متغيِّر نسخةٍ (instance variable) محدِّدٍ إلى قيمة معيَّنة في الكائن المُعطى؛ هذا يؤدي إلى إحباط جهود منشئ الصنف في محاولة توفير التغليف (encapsulation) المناسب. ليس من الضروري أن يتواجد المتغيِّر قبل استدعاء هذا التابع. إذا مُرِّر اسم متغيِّر النسخة بشكل سلسلةٍ نصيةٍ (string)، فستُحوَّل تلك السلسلة إلى رمز. البنية العامة instance_variable_set(symbol, obj) → obj instance_variable_set(string, obj) → obj المعاملات symbol الرمزُ الذي يشير إلى اسم متغيِّر النسخة المراد تعيين قيمة المعامل obj إليه في الكائن المُعطى. string ...

التابع String.sub في روبي

يعيد التابع sub نسخة من السلسلة النصية التي استدعي معها مع تبديل قيمة محدَّدة مع أول تطابق للنمط المعطى. البنية العامة sub(pattern, replacement) → new_str sub(pattern, hash) → new_str sub(pattern) {|match| block } → new_str إن أعطيت كتلة block إلى التابع، فستُمرَّر السلسلة الحالية المتطابقة إليها وستعيَّن قيم متغيرات مثل ‎$1، و ‎$2، و ‎$`‎، و ‎$&‎، و ‎$'‎ بشكل مناسب. ستحل القيم التي تعيدها الكتلة مكان القيمة المتطابقة في كل استدعاء. المعاملات pattern يكون عادةً تعبيرًا نمطيًّا. إن كان سلسلة نصية، فستُفسَّر أية محارف ...

التابع Numeric.arg‎ في روبي

يعيد التابع arg القيمة 0 إن كان العدد الذي استُدعي معه موجبًا، أو القيمة pi خلاف ذلك. البنية العامة arg → 0 or float‎ القيمة المُعادة تعاد القيمة 0 إن كانت القيمة المعطاة موجبة، أو pi خلاف ذلك. انظر أيضا التابع angle: يعيد القيمة 0 إن كان العدد الذي استُدعي معه موجبًا، أو القيمة pi خلاف ذلك. التابع ceil: يعيد أصغر عدد أكبر من أو يساوي العدد المعطى وبدقة محدَّدة. مصادر قسم التابع arg‎ في الصنف Numeric‎ في توثيق روبي الرسمي.

التابع Thread.keys‎ في روبي

يُعيد التابع keys مصفوفة من أسماء المتغيرات محلية الليف (fiber-local variables) على هيئة رموز. البنية العامة keys→ array‎ القيمة المعادة تعاد مصفوفة من أسماء المتغيرات محلية الليف. أمثلة مثال على استخدام التابع keys‎: thr = Thread.new do Thread.current[:cat] = 'meow' Thread.current["dog"] = 'woof' end thr.join #=> #<Thread:0x401b3f10 dead> thr.keys #=> [:dog, :cat]‎ انظر أيضًا التابع key?‎: يتحقق إن كانت السلسلة النصية أو الرمز المعطى موجود على هيئة متغير محلي الليف (fiber-local variable). مصادر قسم التابع keys‎ في الصنف Thread‎ ...

التابع Array.sort!‎ في روبي

يرتب التابع sort!‎ عناصر المصفوفة التي استُدعيت معه. ستجرى عملية الموازنة بين عناصر المصفوفة المراد ترتيبها باستعمال المعامل <=> أو باستعمال كتلة برمجية محددة. إن استعملت الكتلة البرمجية block في ترتيب العناصر، فيجب أن تجري موازنة بين العنصر a والعنصر b وتعيد عددًا سالبًا إن كان b أكبر من a، أو العدد 0 إن كانا متساويين، أو عددًا موجبًا إن كان b أصغر من a. مع ذلك، لن تكون النتيجة مضمونة مئة بالمئة، إذ لا يمكن التنبؤ بترتيب العناصر المتساوية ...

التابع =Process.uid في روبي

يضبط التابع uid عند استدعائه بالشكل uid= user المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية إلى القيمة user. هذا التابع غير متاح على جميع المنصات. البنية العامة uid= user → numeric القيم المعادة تعاد القيمة user بعد تعيينها إلى المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية. أمثلة مثال على استعمال التابع uid: Process.setproctitle('myapp: worker #%d' % worker_id) انظر أيضًا التابع uid: يعيد المُعرِّف الحقيقي للمستخدم المالك للعملية الحالية. التابع gid=‎: يضبط عند استدعائه بالشكل gid= integer مُعرِّف المجموعة المالكة للعملية الحالية إلى القيمة ...

التابع ARGF.inspect()‎ في روبي

يعد التابع inspect()‎ اسمًا بديلًا للتابع to_s. انظر أيضًا التابع to_s: يعيد القيمة "ARGF". مصادر قسم التابع ARGF.inspect()‎ في الصنف ARGF في توثيق روبي الرسمي.

الصنف Data في روبي

الصنف Data هو صنف مهمل. كان يعدُّ الصنف الأساس لملحقات C التي تستعمل Data_Make_Struct أو Data_Wrap_Struct. مصادر صفحة الصنف Data في توثيق روبي الرسمي.

التابع Float.prev_float في روبي

يعيد التابع prev_float العدد العشري الذي يسبق العدد العشري الذي استُدعي معه. يعيد استدعاء التابع prev_float مع القيمة (‎(-Float::MAX والقيمة (Float::INFINITY-) القيمة الثابتة ‎-Float::INFINITY. ويعيد استدعاء التابع بالشكل Float::NAN.prev_float القيمة Float::NAN. البنية العامة prev_float → float القيمة المعادة يعاد العدد العشري السابق للعدد العشري المعطى. أمثلة مثال على استخدام التابع prev_float: 0.01.prev_float #=> 0.009999999999999998 1.0.prev_float #=> 0.9999999999999999 100.0.prev_float #=> 99.99999999999999 0.01 - 0.01.prev_float #=> 1.734723475976807e-18 1.0 - 1.0.prev_float ...

التابع GC.disable في روبي

يعطِّل التابع disable جمع البيانات المهملة، ويعيد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. البنية العامة disable → true or false القيمة المعادة تعاد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. خلا ذلك، تعاد القيمة false. أمثلة مثال على استعمال التابع disable: GC.disable #=> false GC.disable #=> true انظر أيضا التابع enable: يفعِّل جمع البيانات المهملة، ويعيد القيمة true إذا كان جمع البيانات المهملة مُعطَّلًا مسبقًا. مصادر قسم التابع disable‎ في الصنف GC في توثيق ...

 التابع Dir.delete في روبي

يحذف التابع delete‎ مجلدًا محدَّدًا. سيُطلق خطأ من صنف فرعي من SystemCallError في حال لم يكن المجلد المراد حذفه موجودًا. البنية العامة delete( string ) → 0 المعاملات string اسم المجلد المُراد حذفه. انظر أيضًا التابع chdir‎ : يغيِّر مجلد العمل (working directory) الحالي للعملية إلى مجلد محدَّد. التابع rmdir‎ :يحذف مجلدًا محدَّدًا.  مصادر قسم التابع delete في الصنف Dir في توثيق روبي الرسمي.

الصنف FrozenError في روبي

يرمى الاستثناء FrozenError عند محاولة تعديل كائن مجمد. [1, 2, 3].freeze << 4 عند تنفيذ هذه الشيفرة، يرمى الاستثناء: FrozenError: can't modify frozen Array انظر أيضًا التابع freeze: يجمد السلسلة النصية التي استُدعيت معه، أي يجعلها غير قابلة للتعديل. مصادر صفحة الصنف FrozenError في توثيق روبي الرسمي.

التابع ARGF.printf في روبي

يطبع التابع printf الكائن أو الكائنات الممرَّرة إليه على المجرى ios (اختصارًا للعبارة Input Output Stream) بعد تنسيقها بشكل معين. للمزيد من المعلومات حول المعاملات المستعملة في عملية التنسيق (أي المستعملة مع الوسيط format_string)، ارجع إلى صفحة التابع Kernel.sprintf. البنية العامة printf(format_string [, obj, ...]) → nil القيم المعادة تعاد القيمة nil. أمثلة مثالٌ على استخدام التابع printf: printf("%s, the sale price is $%f.\n", name, sale_price) ...

التابع Thread.thread_variable?‎‎ في روبي

يتحقق التابع thread_variable?‎ إن كانت السلسلة النصية أو الرمز المعطى موجودًا كمتغير محلي للمهمة الفرعية (thread-local variable). لاحظ أنَّ هذه المتغيرات ليست متغيرات محلية الألياف (fiber local variables). يرجى الاطلاع على صفحة المعامل [] والتابع thread_variable_get لمزيد من التفاصيل. البنية العامة thread_variable?(key)→ true or false‎ المعاملات key‎ سلسلة نصية أو رمز. القيمة المعادة تعاد القيمة true إن كانت السلسلة النصية أو الرمز key المعطى موجودًا كمتغير محلي للمهمة الفرعية (thread-local variable)، وإلا فستعاد القيمة false. أمثلة مثال على استخدام التابع thread_variable?‎: ...

الصنف ConditionVariable في روبي

توسع كائنات الصنف ConditionVariable عمل الصنف Mutex. فمن الممكن باستخدام المتغيرات الشرطية إيقاف مهمة حرجة (critical section) في أثناء تنفيذها إلى حين إتاحة مورد ما. إليك المثال التالي: mutex = Mutex.new resource = ConditionVariable.new a = Thread.new { mutex.synchronize { # Thread 'a' now needs the resource resource.wait(mutex) # 'a' can now have the resource } } b = Thread.new { mutex.synchronize { ...

الصنف TracePoint في روبي

يوفر الصنف TracePoint وظائف Kernel.set_trace_func على شكل واجهة برمجية كائنية (Object-Oriented API). مثال يمكننا استخدام المتعقبات (كائنات الصنف TracePoint) لجمع المعلومات بخصوص الاستثناءات: trace = TracePoint.new(:raise) do |tp| p [tp.lineno, tp.event, tp.raised_exception] end #=> #<TracePoint:disabled> trace.enable #=> false 0 / 0 #=> [5, :raise, #<ZeroDivisionError: divided by 0>]‎ الأحداث إذا لم تحدِّد نوع الأحداث التي تريد الاستماع إليها، فسيشمل المتعقب TracePoint جميع الأحداث المتاحة. ملحوظة: لا تعتمد على مجموعة الأحداث الحالية، إذ أن هذه القائمة عرضةٌ للتغيير. بدلًا من ذلك، يُنصَح بتحديد نوع ...

التابع Numeric.truncate‎ في روبي

يعيد التابع truncate العدد الذي استُدعي معه بعد اقتطاع المنازل العشرية منه بمقدار محدَّد. ينفذ الصنف Numeric هذا عن طريق تحويل قيمة العدد إلى النوع Float ثم يستدعي Float.truncate. البنية العامة truncate([ndigits]) → integer or float‎ المعاملات ndigits‎ عدد يمثل دقة التقريب. القيمة الافتراضية هي: 0. القيمة المعادة يعاد عدد صحيح أو عشري يمثِّل العدد المعطى بعد اقتطاع المنازل العشرية منه بدقة ndigits. انظر أيضا التابع ceil: يعيد أصغر عدد من الأعداد الأكبر من أو تساوي العدد الذي استُدعي معه ...

معالجة الاستثناءات في روبي

يتمّ التعامل مع الاستثناءات بعد الكلمة rescue في الكتلة begin/end: begin  # الشيفرة التي قد تسبب ظهور استثناء برمجي rescue  # معالجة الاستثناء end  إذا كنت ضمن تابع، فلست بحاجة لاستخدام begin و end إلا إذا كنت ترغب بحدّ النّطاق الخاص بالاستثناء الذي ترغب بمعالجته: def my_method  # ... rescue  # ... end نفس الأمر يطبّق في الأصناف (classes) والوحدات (modules). يمكنك إسناد استثناء إلى متغيّر محليّ باستخدام الرمز ‎=>‎ متبوعًا باسم المتغيّر، وذلك في نهاية السطر الخاص بالكلمة rescue: begin  # ... rescue => exception  warn exception.message  raise # كرر ظهور ...

التابع ARGF.chars()‎ في روبي

التابع ()chars هو اسم بديل مهمل (deprecated) للتابع each_char. انظر أيضًا التابع each_char: يعيد قيمة قابلة للعد (enumerator) تتكرر (Iterate) على كل قيمة من النوع char في الملفات الموجودة في ARGV. مصادر قسم التابع chars()‎ في الصنف ARGF في توثيق روبي الرسمي.

عرض (50 السابقة | 50 التالية) (20 | 50 | 100 | 250 | 500).