نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
الصنف 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 في توثيق روبي الرسمي.
التابع SizedQueue.new في روبي
ينشئ التابع new طابورًا ذا طول ثابت، مع حد أقصى لحجمه. البنية العامة new(max)
المعاملات max عدد يمثل الحد الأقصى لحجم الطابور المراد إنشاؤه. القيمة المعادة يعاد طابورٌ ذو طول ثابت يساوي إلى max. انظر أيضا المعامل <<: يضيف كائنات إلى الطابور المعطى. التابع close: يغلق الطابور الذي استدعي معه. مصادر قسم التابع new في الصنف SizedQueue في توثيق روبي الرسمي.
التابع FileTest.writable_real? في روبي
يعيد التابع writable_real? إن كان ملفٌ ما قابلًا للكتابة من طرف مُعرِّف المستخدم والمجموعة الحقيقي للعملية الحالية. اطلع على توثيق الدالة access(3). البنية العامة writable_real?(file_name) → true or false
المعاملات file_name اسم الملف المراد التحقق منه. القيمة المعادة تعاد القيمة true إن كان ملفٌ ما قابلًا للقراءة من طرف مُعرِّف المستخدم والمجموعة الحقيقي للعملية الحالية. خلا ذلك، تعاد القيمة false. انظر أيضًا التابع owned?: يتحقق إن كان ملفٌ ما موجودًا وكان مالك هذا الملف هو نفسه المعرِّف الفعلي للمستخدم المالك للعملية التي استدعته. التابع readable_real?: يتحقق إن كان ...
التابع Range.member? في روبي
يتحقق التابع member? إن كان كائنٌ ما عنصرًا من المجال الذي استُدعي معه. إن كان عنصرا البداية والنهاية عددين، فستتم المقارنة وفقًا لمقدار (magnitude) القيم. البنية العامة member?(obj) → true or false
المعاملات obj الكائن المراد التحقق من كونه واقعًا في المجال المعطى. القيمة المعادة تعاد القيمة true إن كان obj عنصرًا من المجال الذي استُدعي معه، أو تعاد القيمة false خلاف ذلك. أمثلة مثال على استخدام التابع member?: ("a".."z").include?("g") #=> true
("a".."z").include?("A") #=> false
("a".."z").include?("cc") ...
التابع Object.public_methods في روبي
يُعيد التابع public_methods قائمةً بالتوابع العامَّة (public methods) التي يمتلك الكائن الذي استدعي معه الوصول إليها. إذا مُرِّرت القيمة false إلى التابع، فستحتوي القائمة توابع الكائن المستقبل (receiver) فقط. البنية العامة public_methods(all=true) → array
المعاملات all معامل اختياري يحدِّد التوابع المعادة. يأخذ هذا المعامل القيمة true (افتراضيًا)، أو القيمة false. القيم المعادة تُعاد قائمةٌ بالتوابع العامة التي يمتلك الكائن المعطى الوصول إليها إذا لم يعطَ الكائن all، أو ستُعاد قائمة تحتوي توابع الكائن المستقبل (receiver) فقط إذا أعطي المعامل all ...
التابع Integer.floor في روبي
يعيد التابع floor أكبر عدد من الأعداد الأصغر من أو تساوي العدد الذي استُدعي معه وبدقة (precision) تساوي العدد المعطى (القيمة الابتدائية هي 0). البنية العامة floor([ndigits]) → integer or float
المعاملات ndigits عدد يحدد الدقة. إذا كانت الدقة سالبة، فإنّ القيمة المعادة ستكون عددًا صحيحًا مع ndigits.abs صفر إضافي على الأقل. القيمة المعادة يعيد التابع floor أكبر عدد من الأعداد الأصغر من أو يساوي قيمة العدد الذي استُدعي معه وبدقة تساوي ndigits رقم عشري. إذا كانت الدقة سالبة، ...
التابع Marshal.dump في روبي
يُسلسل (Serializes) التابع dump الكائن المعطى وجميع الكائنات المنحدرة منه (descendant objects). في حال تمرير كائن من النوع IO، فستُكتب البيانات المُسَلسلة فيه، وإلا فستُعاد البيانات كسلسلة نصية. البنية العامة dump( obj [, anIO] , limit=-1 ) → anIO
في حال تمرير المعامل limit، فسيقتصر التابع dump على سَلسَلة الكائنات الفرعية حتى العمق المحدد. إذا كان limit سالبًا، لن يكون هناك أي تحقق من للعمق. لا يمكن للتابع Marshal تفريغ (dump) الكائنات التالية: الوحدات أو الأصناف المجهولة (anonymous Class/Module). الكائنات المرتبطة بالنظام (مثل ...
التابع File.identical? في روبي
يتحقق التابع identical? إن كان الملفان المعطيان متماثلين تمامًا. البنية العامة identical?(file_1, file_2) → true or false
المعاملات file_1 الملف الأول المراد التحقق من مطابقته للملف file_2. file_2 الملف الثاني المراد التحقق من مطابقته للملف file_1. القيمة المعادة تعاد القيمة true إن كان الملف file_1 مطابقًا ومماثلًا للملف file_1. خلا ذلك، تعاد القيمة false. أمثلة مثال على استعمال التابع identical?: open("a", "w") {}
p File.identical?("a", "a") #=> true
p File.identical?("a", "./a") #=> true
File.link("a", "b")
p File.identical?("a", ...
التابع Rational.rationalize في روبي
يُعيد التابع rationalize تقريبًا مبسطًا لقيمة العدد الجذري الذي استُدعي معه في حال إعطاء الوسيط الاختياري eps، أو يعيد العدد الجذري نفسه إن لم يمُرَّر إليه أي شيء. البنية العامة rationalize → self
rationalize(eps) → rational
المعاملات eps مقدار التقريب. القيمة المعادة يعاد تقريبٌ مبسطٌ لقيمة العدد الجذري المعطى في حال إعطاء الوسيط الاختياري eps (النتيجة المعادة ينبغي أن تحقق المتراجحة rat-|eps| <= result <= rat+|eps|)، أو يعاد العدد الجذري نفسه إن لم يمُرَّر المعامل eps. أمثلة مثال على ...
التابع Thread.start في روبي
يشبه التابع start التابع new بشكل أساسي إلا أنه عند اشتقاق صنف فرعي (subclassed) من Thread، فإنَّ استدعاء start في ذلك الصنف الفرعي لن يستدعي تابع الصنف الفرعي initialize. البنية العامة start([args]*) {|args| block }→ thread
المعاملات args وسائط تُمرر إلى الكتلة. القيمة المعادة يعاد كائن من النوع Thread. انظر أيضًا التابع stop: يوقف تنفيذ المهمة الفرعية الحالية. مصادر قسم التابع start في الصنف Thread في توثيق روبي الرسمي.
التابع IO.lines في روبي
يعدُّ التابع lines اسمًا بديلًا مهملًا للتابع each_line. البنية العامة lines(*args)
انظر أيضًا التابع each_line: ينفذ الكتلة المعطاة على كل سطر في المجرى الذي استدعي معه. مصادر قسم التابع lines في الصنف IO في توثيق روبي الرسمي.
التابع Array.rotate! في روبي
يُدوّر التابع rotate! عناصر المصفوفة التي استُدعيت معه ليكون العنصر ذو الفهرس الممرَّر إليها هو العنصر الأول. إن كان العدد الممرَّر إليها سالبًا، فسيُدوّر التابع rotate! المصفوفة في الاتجاه المعاكس، إذ يُحسَب موضع العنصر بدءًا من نهاية المصفوفة فسيكون فهرس العنصر الأخير هو -1. البنية العامة rotate!(count=1) → ary
المعاملات count عددٌ صحيحٌ يمثل فهرس العنصر الذي يراد أن يصبح أول عنصرٍ في المصفوفة المعطاة. القيم المعادة تعاد المصفوفة نفسها المعطاة بعد إزاحة (تدوير) عناصرها ليكون العنصر ذو الفهرس count ...
التابع Enumerable.to_h في روبي
يحول التابع to_h الكائن القابل للتعداد المعطى إلى كائن من النوع Hash. البنية العامة to_h(*args) → hash
المعاملات args الوسائط المراد استعمالها في عملية التحويل. القيمة المعادة يعاد كائن جديد من النوع Hash يحوي قائمة من الأزواج مفتاح/قيمة الناتجة عن تحويل الكائن القابل للتعداد المعطى. أمثلة مثال على استعمال التابع to_h: %i[hello world].each_with_index.to_h
# => {:hello => 0, :world => 1}
انظر أيضًا التابع to_a: يحول الكائن القابل للتعداد إلى مصفوفة. مصادر قسم التابع to_h في الصنف Enumerable في توثيق روبي ...
التابع String.downcase في روبي
يعيد التابع downcase نسخةً من السلسلة النصية التي استدعي معها مع استبدال الحروف الكبيرة بنظائرها الصغيرة. استبدال الحروف بحروف أخرى يعتمد على المعامل المُمرَّر إلى التابع، وعلى ترميز السلسلة النصية المعطاة. البنية العامة downcase → new_str
downcase([options]) → new_str
المعاملات options يُستخدم للتحكم بعملية التبديل ويأخذ إحدى القيم التالية: الخيار الوصف بدون خيار يمثِّل ربط (mapping) محارف اليونيكود (Unicode) الكاملة ذات الحالة الكبيرة والصغيرة مع بعضها لتبديلها، وهذا مناسب لأغلب اللغات (اطلع على الخيار turkic: والخيار lithuanian: في الأسفل، إذ تعد ...
التابع ARGF.getc في روبي
يجلب التابع getc المحرف التالي من المجرى ARGF. يعامل المجرى ARGF الملفات المُمرَّرة في سطر الأوامر كما لو كانت ملفًا واحدًا يتألَّف من جميع تلك الملفات؛ أي يتعاقب بعضها خلف بعض. بناءً على ذلك، يؤدي استدعاء التابع getc مرة أخرى بعد جلب المحرف الأخير من الملف الأول مثلًا إلى جلب المحرف الأول من الملف الثاني، وهلم جرًّا. البنية العامة getc → String or nil
القيم المعادة تعاد سلسلة نصية تحوي المحرف التالي الذي يُقرَأ من المجرى ARGF، أو تعاد القيمة ...
التابع IO.autoclose? في روبي
يتحقق التابع autoclose? إن كان واصف الملف الأساسي لمجرى معين سيُغلق تلقائيًا عند الانتهاء منه. البنية العامة autoclose?→ true or false
القيمة المعادة تعاد القيمة true إن كان واصف الملف الأساسي للمجرى المعطى سيُغلق تلقائيًا عند الانتهاء منه، وإلا ستعاد القيمة false. انظر أيضًا التابع autoclose: يُعيّن عند استدعائه بالشكل autoclose = bool قيمة راية الإغلاق التلقائي (auto-close flag) إلى القيمة bool المنطقية. التابع close: يغلق مجرى د/خ، ويرسل (flushes) أي كتابات مُعلّقة إلى نظام التشغيل. التابع closed?: يتحقق إن كان مجرى د/خ ...
الصنف NoMethodError في روبي
يُطلق الاستثناء NoMethodError عند استدعاء تابعٍ مع مستقبِل (receiver) غير مُعرَّف فيه مع فشل الاستجابة للتابع method_missing. "hello".to_ary
سيُطلق الاستثناء NoMethodError عند تنيفذ الشيفرة السابقة بالشكل: NoMethodError: undefined method `to_ary' for "hello":String
توابع الصنف العامة (Public Class Methods) new ينشئ استثناءً من النوع NoMethodError للتابع ذي الاسم المعطى مع الوسائط المُمرَّرة. توابع النسخة العامة (Public Instance Methods) args يعيد الوسائط التي تم تمريرها كمعامل ثالث إلى الباني new. ?private_call مصادر قسم الصنف NoMethodErrorفي توثيق روبي الرسمي.
التابع Numeric.eql? في روبي
يتحقق التابع eql? إن كان العدد الذي استُدعي معه والعدد المُمرَّر إليه من نفس النوع ومتساويين. يعمل هذا التابع بشكل مخالف للمعامل == الذي يحول نوع العددين قبل إجراء الموزانة بينهما. البنية العامة eql?(numeric) → true or false
المعاملات numeric عدد يراد التحقق من تساويه نوعًا وقيمةً مع العدد المعطى. القيمة المعادة تُعاد القيمة true إن كان العدد المعطى والعدد numeric من نفس النوع ومتساويين. خلا ذلك، تعاد القيمة false. أمثلة مثال على استخدام التابع eql?: 1 == 1.0 ...
التابع Complex.to_i في روبي
يحول التابع to_i العدد العقدي الذي استدعي معه إلى عدد صحيح إن كان ذلك ممكنًا (ينبغي أن يساوي الجزء التخيلي القيمة 0 تمامًا، وإلا فسيُطلَق الخطأ RangeError). البنية العامة to_i → integer
القيمة المعادة يعاد عدد صحيح يمثِّل ناتج تحويل العدد العقدي المعطى إن كان ذلك ممكنًا، أو سيُرمَى الخطأ RangeError إن لم يكن ذلك ممكنًا. أمثلة أمثلة عن استخدام التابع to_i: Complex(1, 0).to_i #=> 1
Complex(1, 0.0).to_i # RangeError
Complex(1, 2).to_i # RangeError
انظر ...
التابع Marshal.load في روبي
يعيد التابع load نتيجة تحويل البيانات المُسلسلة (serialized) في المصدر إلى كائن روبي (ربما مع كائنات ثانوية [subordinate objects] مرتبطة به). قد يكون المصدر إمَّا كائنًا من الصنف IO، أو كائنًا يستجيب إلى التابع to_str. في حال تمرير المعامل الثاني، فسيتم تمرير كل كائن من الكائنات إليه أثناء فك تسلسلها (deserialisation). تنبيه: لا تمرّر أبدًا إلى التابع load بيانات غير موثوقة (بما في ذلك المدخلات التي يرسلها المستخدم). البنية العامة load( source [, proc] ) → obj
المعاملات source إمَّا كائنٌ من ...
التابع String.valid_encoding? في روبي
يتحقق التابع ?valid_encoding إذا كانت سلسلة نصية مُرمّزة بشكل صحيح. البنية العامة valid_encoding? → true or false
القيمة المعادة تُعاد القيمة true إذا كانت السلسلة النصية المعطاة مُرمّزة بشكل صحيح، أو تُعاد القيمة false خلاف ذلك. أمثلة مثال على استعمال التابع valid_encoding?: "\xc2\xa1".force_encoding("UTF-8").valid_encoding? #=> true
"\xc2".force_encoding("UTF-8").valid_encoding? #=> false
"\x80".force_encoding("UTF-8").valid_encoding? #=> false
انظر أيضًا التابع ascii_only?: يتحقق إذا كانت السلسلة النصية مؤلفة من محارف مرمزة بالترميز ASCII فقط. التابع empty?: يتحقق إذا ...
الصنف Regexp في روبي
تمثل كائنات الصنف Regexp التعابير النمطية التي تُستخدم لمطابقة نمط (pattern) معيّن في سلسلة نصية. تُنشَأ التعابير النمطية باستخدام الصياغتين /.../ و %r{...}، أو باستعمال الباني new. التعابير النمطية هي أنماط تصف محتويات السلسلة النصية. يمكن استخدامها للتحقق من أنّ سلسلة نصية تحتوي على نمط معين، أو لاستخراج الأجزاء المُطابقة منها. عادةً ما يتم تحديد التعبير النمطي بخط مائل (/) كما يوضح المثال التالي: /hay/ =~ 'haystack' #=> 0
/y/.match('haystack') #=> #<MatchData "y">
إذا احتوت سلسلة نصية على النمط، فسيقال ...
التابع Enumerable.inject في روبي
يجمع التابع inject جميع عناصر الكائن القابل للتعداد الذي استدعي معه عبر تطبيق عملية ثنائية تُحدَّد بوساطة كتلة أو رمز يسمي تابعًا أو معاملًا. التابعان inject و reduce هما وجهين لعملة واحدة؛ أي كل منها اسم بديل للآخر. البنية العامة inject(initial, sym) → obj
inject(sym) → obj
inject(initial) { |memo, obj| block } → obj
inject { |memo, obj| block } → obj
إن حُدَّدَت كتلة مع هذا التابع، فسيُمرَّر لكل عنصر من عناصر الكائن القابل للتعداد المعطى قيمة تراكمية (memo) والعنصر نفسه. إن حُدَّدَ رمز ...
التابع Thread.priority في روبي
يُعيد التابع priority أولوية المهمة الفرعية التي استدعيت معه. تورث القيمة الافتراضية من المهمة الفرعية الحالية المسؤولة عن إنشاء المهمة الفرعية الجديدة، أو تكون القيمة صفر للمهمة الفرعية الرئيسية الابتدائية (initial main thread)؛ سيتم تشغيل المهام الفرعية ذات الأولوية العالية بشكل أكثر تكرارًا من مثيلاتها ذات الأولوية المنخفضة (ولكنها ستُشغّل على أي حال). هذا مجرد تلميح يستعمله مُجدوِل المهام الفرعية (thread scheduler) في روبي. مع ذلك، قد يتم تجاهله في بعض أنظمة التشغيل. البنية العامة priority→ integer
القيمة المعادة يعاد عدد ...
التابع Symbol.intern في روبي
يعيد التابع intern بشكل عام الرمز المقابل لكائن ما. لذلك، عند استدعائه مع رمز، فسيعيد الرمز نفسه. البنية العامة intern→ sym
القيمة المعادة يعاد الرمز المعطى نفسه (self). انظر أيضًا التابع inspect: يعيد سلسلة نصية تمثل الرمز التي استُدعي معه. التابع size: يشبه التعبير sym.to_s.length. مصادر قسم التابع intern في الصنف Symbol في توثيق روبي الرسمي.
التابع Array.reject في روبي
يعيد التابع reject مصفوفة جديدة تحتوي جميع عناصر المصفوفة التي استُدعيت معها والتي لم تحقق شرطًا محددًا. يُحافَظ على ترتيب العناصر المرفوضة المعادة بنفس ترتيبها كما كانت في المصفوفة الأصلية. إن لم تُمرَّر أية كتلة إلى التابع reject، فسيعيد كائنًا من النوع Enumerator. البنية العامة reject {|item| block } → new_ary
reject → Enumerator
القيم المعادة تعاد مصفوفة جديد تحوي جميع عناصر المصفوفة المعطاة التي لم تعاد معها القيمة true عند تطبيق الكتلة block عليها، أو يعاد كائن من النوع ...
التابع IO.codepoints في روبي
يعدُّ التابع codepoints اسمًا بديلًا مهملًا للتابع each_codepoint. البنية العامة codepoints()
انظر أيضًا التابع each_codepoint: ينفذ الكتلة المعطاة على رموز اليونيكود الخاصة بمحارف المجرى. مصادر قسم التابع codepoints في الصنف IO في توثيق روبي الرسمي.
التابع IO.fileno في روبي
يُعيد التابع fileno عددًا صحيحًا يمثل واصف الملف الرقمي (numeric file descriptor) للمجرى الذي استدعي معه. البنية العامة fileno → integer
to_i→ integer
القيمة المعادة يعاد عددٌ صحيحٌ يمثل واصف الملف الرقمي للمجرى المعطى. أمثلة مثال على استخدام التابع fileno: $stdin.fileno #=> 0
$stdout.fileno #=> 1
انظر أيضًا التابع fdatasync: يكتب مباشرةً جميع البيانات المخزنة في مجرى د/خ على القرص. مصادر قسم التابع fileno في الصنف IO في توثيق روبي الرسمي.
التابع Enumerable.max_by في روبي
يعيد التابع max_by العنصر الذي تعيد الكتلة المعطاة أكبر قيمة مقابلة له بعد تمرير عناصر الكائن القابل للتعداد إليها كلٌّ على حدة. إن لم تعطَ أية كتلة، فسيعيد التابع كائنًا من النوع Enumerator. البنية العامة max_by {|obj| block } → obj
max_by → an_enumerator
max_by(n) {|obj| block } → obj
max_by(n) → an_enumerator
المعاملات n إن أعطي هذا المعامل، فسيُعاد أكبر n عنصر في مصفوفة. تُرتَّب العناصر آنذاك في المصفوفة بشكل تنازلي بناءً على القيمة المقابلة التي تعيدها الكتلة. القيمة المعادة يعاد العنصر الذي تعيد ...
التابع MatchData.captures في روبي
يعيد التابع captures مصفوفة الأجزاء المُطابقة (array of captures)؛ يكافئ mtch.to_a[1..-1]. البنية العامة captures→ array
القيمة المعادة تعاد مصفوفة الأجزاء المُطابقة. أمثلة مثال على استخدام التابع captures: f1,f2,f3,f4 = /(.)(.)(\d+)(\d)/.match("THX1138.").captures
f1 #=> "H"
f2 #=> "X"
f3 #=> "113"
f4 #=> "8"
انظر أيضا التابع begin: يعيد موضع (offset) بداية العنصر n من مصفوفة التطابق في السلسلة النصية. التابع end: يعيد موضع (offset) الحرف الذي يلي نهاية العنصر n من مصفوفة التطابق في السلسلة النصية. مصادر ...
التابع ARGF.skip في روبي
يتخطى التابع skip الملف الحالي إلى الملف التالي ويجعله هو الملفَّ الحالي في المجرى ARGF. وفي حال لم يكن هنالك أية ملفات متبقية، فلن يكون لهذا التابع أي تأثير. البنية العامة skip → ARGF
القيم المعادة يعاد المجرى ARGF. أمثلة مثال على استخدام التابع skip: $ ruby argf.rb foo bar
ARGF.filename #=> "foo"
ARGF.skip
ARGF.filename #=> "bar"
انظر أيضًا التابع close: يغلق الملف الحالي ويتخطاه إلى الملف التالي في ARGV. التابع eof?: يتحقق إذا بلغ الملف الحالي نهايته في ARGF. التابع ...
الصنف NilClass في روبي
الصنف NilClass هو صنفٌ للكائن nil المُفرد. توابع النسخ العامة (Public Instance Methods) & يجري المعامل & العملية And المنطقية على الكائن المعطى والقيمة nil أو false. === يتحقق المعامل === من تساوي كائنين مع بعضهما بعضًا. ^ يجري المعامل ^ العملية XOR المنطقية على الكائن المعطى والقيمة nil أو false. | يجري المعامل | العملية OR المنطقية على الكائن المعطى والقيمة nil أو false. inspect يعيد دائمًا السلسلة النصية "nil". nil? يتحقق إن كان الكائن الذي استدعي معه هو الكائن nil. rationalize يعيد الصفر كعدد جذري (rational). to_a يعيد دائمًا مصفوفة فارغة. to_c يحول الصفر إلى عدد عقدي. to_f يعيد ...
التابع File.directory? في روبي
يتحقق التابع directory? إن كان ملفٌ ما مجلَّدًا أو وصلةً رمزيًّةً تشير إلى مجلدٍ. البنية العامة directory?(file_name) → true or false
المعاملات file_name اسم الملف المراد التحقق منه. يمكن أن يكون كائنًا من النوع IO. القيمة المعادة تعاد القيمة true إن كان ملفٌ ما مجلَّدًا أو وصلةً رمزيًّةً تشير إلى مجلدٍ. خلا ذلك، تعاد القيمة false. أمثلة مثال على استعمال التابع directory?: File.directory?(".")
انظر أيضا التابع zero?: يتحقق إن كان ملفٌ ما موجودًا وخاويًا (صفر الحجم). التابع executable?: يتحقق إن كان ...
الصنف SyntaxError في روبي
يطلق الاستثناء SyntaxError عند اكتشاف خطأ في صياغة الشيفرة البرمجية لروبي. eval("1+1=2")
سيًطلق الاستثناء SyntaxError بالشكل التالي: SyntaxError: (eval):1: syntax error, unexpected '=', expecting $end
توابع الصنف العامة new ينشئ استثناءً جديدًا من النوع SyntaxError. مصادر صفحة الصنف SyntaxError في توثيق روبي الرسمي.
التابع String.lstrip! في روبي
يحذف التابع lstrip! المسافة البيضاء في بادئة السلسلة النصية المعطاة. يُقصد بالمسافة البيضاء أي من المحارف التالية: القيمة العدمية (null)، أو مسافة الجدولة الأفقية (horizontal tab)، أو مسافة الجدولة العمودية (vertical tab)، أو محرف الانتقال إلى سطر جديد (line feed)، أو محرف الانتقال إلى صفحة جديدة (form feed)، أو محرف العودة إلى بداية السطر (carriage return)، أو المسافة الفارغة (space). البنية العامة lstrip! → self or nil
القيمة المعادة تُعاد السلسلة النصية المعطاة بعد حذف المسافة البيضاء من بادئتها، أو ...
التابع String.lstrip في روبي
يعيد التابع lstrip نسخة عن السلسلة النصية مع حذف المسافة البيضاء في بادئة السلسلة. يُقصد بالمسافة البيضاء أي من المحارف التالية: القيمة العدمية (null)، أو مسافة الجدولة الأفقية (horizontal tab)، أو مسافة الجدولة العمودية (vertical tab)، أو محرف الانتقال إلى سطر جديد (line feed)، أو محرف الانتقال إلى صفحة جديدة (form feed)، أو محرف العودة إلى بداية السطر (carriage return)، أو المسافة الفارغة (space). البنية العامة lstrip → new_str
القيمة المعادة تُعاد نسخة عن السلسلة النصية المعطاة مع حذف المسافة ...
التابع IO.write_nonblock في روبي
يكتب التابع write_nonblock السلسلة النصية المُمرَّرة إليه في المجرى الذي استُدعي معه باستخدام استدعاء النظام write(2) بعد تعيين قيمة الراية O_NONBLOCK الخاصة بواصف الملف (file descriptor) الأساسي. يستدعي التابع write_nonblock استدعاء النظام write(2). ويتسبب في كافة الأخطاء التي يتسبب فيها استدعاء النظام write(2)، مثل Errno::EWOULDBLOCK و Errno::EINTR وغيرهما. قد تكون النتيجة أصغر من طول السلسلة النصية (أي أن الكتابة جزئية). لذا يجب أن يعالج المستدعي هذه الأخطاء، إضافة إلى مسألة الكتابة الجزئية. إن كان الاستثناء يساوي Errno::EWOULDBLOCK أو Errno::EAGAIN، فسيتم توسيعه ...
التابع Complex.real في روبي
يعيد التابع real الجزء الحقيقي (real part) للعدد العقدي الذي استدعي معه. البنية العامة real → real
القيمة المعادة يعاد عدد حقيقي يمثِّل الجزء الحقيقي (real part) للعدد العقدي. أمثلة أمثلة عن استخدام معامل التابع real: Complex(7).real #=> 7
Complex(9, -4).real #=> 9
انظر أيضًا التابع image: يعيد الجزء التخيلي للعدد العقدي. مصادر قسم التابع real في الصنف Complex في توثيق روبي الرسمي.
التابع SignalException.new في روبي
ينشئ التابع new كائنًا جديدًا من النوع SignalException. البنية العامة new(sig_name) → signal_exception
new(sig_number [, name])→ signal_exception
المعاملات sig_name اسم الإشارة. يجب أن يكون هذا المعامل اسم إشارة معروف. sig_number رقم الإشارة. name اسم الإشارة. القيمة المعادة يعاد كائنٌ جديدٌ من النوع SignalException. انظر أيضًا التابع signo: يعيد رقم إشارة. مصادر قسم التابع new في الصنف SignalException في توثيق روبي الرسمي.
التابع IO.read في روبي
يقرأ التابع read ملفًا محددًا بعد فتحه ثم يغلقه قبل إعادة الناتج. البنية العامة read(name, [length [, offset]] [, opt] )→ string
المعاملات name اسم الملف المراد القراءة منه. إن كان name يبدأ بمحرف الأنبوب ("|")، فستُنشَأ عملية فرعية (subprocess) بطريقة مشابهة للتابع Kernel.open، ثم ستعاد مُخرجاتها. length عدد صحيح يمثل عدد البايتات المراد قراءتها من الملف. القيمة الافتراضية لهذا المعامل هي القراءة حتى نهاية الملف. offset عدد صحيح يمثل إزاحة موضع المؤشر في الملف إلى المكان الذي يراد بدء القراءة ...
التابع Array.slice في روبي
يجلب التابع slice عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة. إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع العنصر بدءًا من نهاية المصفوفة، إذ تمثل القيمة -1 فهرس العنصر الأخير. ستُعاد مصفوفة فارغة في حال كان فهرس بداية المجال المحدد يقع عند نهاية المصفوفة. البنية العامة slice(index) → obj or nil
slice(start, length) → new_ary or nil
slice(range) → new_ary or nil
المعاملات index عدد صحيح يمثل فهرس العنصر المراد اقتطاعه من المصفوفة المعطاة. ...
التابع Complex.rationalize في روبي
يعيد التابع rationalize القيمة الجذرية (rational) المقابلة للعدد العقدي (ينبغي أن يكون الجزء التخيلي معدومًا). البنية العامة rationalize([eps]) → rational
المعاملات eps يمثل هامش التقريب. إذ يحقق (c-|eps| <= result <= c+|eps|)، حيث c يمثل العدد العقدي، و resultيمثل القيمة المعادة. القيمة المعادة يعيد التابع rationalize القيمة الجذرية (rational ) المقابلة للعدد العقدي. والذي هو عدد جذري. أمثلة أمثلة عن استخدام معامل التابع rationalize: Complex(1.0/3, 0).rationalize #=> (1/3)
Complex(1, 0.0).rationalize # RangeError
Complex(1, 2).rationalize ...
التابع IO.gets في روبي
يجلب التابع gets السطر التالي من المجرى الذي استدعي معه. يجب أن يكون المجرى مفتوحًا في وضعية القراءة وإلا سيُطلَق الاستثناء IOError. إن كان المجرى يحتوي على حروف متعددة البايتات، فستعيد gets(1) الحرف بالكامل. البنية العامة gets(sep=$/ [, getline_args]) → string or nil
gets(limit [, getline_args])→ string or nil
gets(sep, limit [, getline_args]) → string or nil
المعاملات sep المحرف الفاصل بين الأسطر. القيمة الافتراضية هي: /$. إن كانت قيمته nil، فستُقرَأ آنذاك جميع محتويات المجرى (أي سيمثِّل نهاية المجرى). limit عدد ...
التابع ARGF.to_i في روبي
يعيد التابع to_i عددًا صحيحًا يمثل واصف الملف العددي (numeric file descriptor) للملف الحالي. إن لم يكن هنالك ملف، فسيُطلَق الخطأ ArgumentError. البنية العامة to_i → integer
القيم المعادة يعاد عدد صحيح (integer) يمثل واصف الملف الرقمي (numeric file descriptor) للملف الحالي. أمثلة مثال على استخدام التابع to_i: ARGF.to_i #=> 3
انظر أيضًا التابع fileno: يعيد عددًا صحيحًا يمثل واصف الملف العددي (numeric file descriptor) للملف الحالي. التابع lineno: يجلب رقم السطر الحالي للمجرى ARGF ككُل. التابع ...
التابع Module.undef_method في روبي
يمنع التابع undef_method الصنف الحالي من الاستجابة للاستدعاءات الموجهة إلى التابع المعطى. سلوك هذا التابع مخالف لسلوك التابع remove_method الذي يحذف التابع من الصنف المعين؛ ستبحث روبي في الأصناف العليا (superclasses) وفي الوحدات المختلطة (mixed-in modules) عن مُستقبِل (receiver) محتمل. البنية العامة undef_method(symbol) → self
undef_method(string) → self
المعاملات symbol رمز يمثل التابع. string سلسلة نصية تمثل التابع. يحول هذا المعامل إن أعطي إلى رمز. القيمة المعادة يعاد الكائن المعطى نفسه. أمثلة مثال على استخدام التابع undef_method: class Parent
def hello
...
التابع Numeric.to_int في روبي
يستدعي to_int التابع to_i الخاص بالصنف الفرعي (child class) لتحويل العدد الذي استُدعي معه إلى عدد صحيح. البنية العامة to_int → integer
القيمة المعادة يعاد عدد صحيح يمثِّل ناتج تحول العدد المعطى إليه. أمثلة مثال على استخدام التابع to_int: 1.0.class #=> Float
1.0.to_int.class #=> Integer
1.0.to_i.class #=> Integer
انظر أيضا التابع to_c: يحول العدد الذي استُدعي معه إلى عدد عقدي. مصادر قسم التابع to_int في الصنف ...
التابع String.strip في روبي
يعيد التابع strip نسخة عن السلسلة النصية مع حذف المسافات البيضاء من بداية ونهاية السلسلة النصية التي استدعيت معها. يُقصد بالمسافة البيضاء أي من المحارف التالية: القيمة العدمية (null)، أو مسافة الجدولة الأفقية (horizontal tab)، أو مسافة الجدولة العمودية (vertical tab)، أو محرف الانتقال إلى سطر جديد (line feed)، أو محرف الانتقال إلى صفحة جديدة (form feed)، أو محرف العودة إلى بداية السطر (carriage return)، أو المسافة الفارغة (space). البنية العامة strip → new_str
القيمة المعادة تُعاد نسخة عن السلسلة ...
التابع Enumerator.size في روبي
يعيد التابع size حجم المُعدِّد الذي استدعي معه، أو يعيد القيمة nil إن لم يكن بالإمكان حساب الحجم بالنمط الكسول (lazily). البنية العامة size → int, Float::INFINITY or nil
القيمة المعادة يعاد عدد صحيح يمثِّل حجم المُعدِّد المعطى، أو تعاد القيمة Float::INFINITY للإشارة إلى الحجم اللانهائي، أو تعاد القيمة nil لم يكن بالامكان حساب الحجم بالنمط الكسول (lazily). أمثلة مثال على استعمال التابع size: (1..100).to_a.permutation(4).size # => 94109400
loop.size # => Float::INFINITY
(1..100).drop_while.size # => nil
انظر أيضًا التابع next: يعيد الكائن التالي ...
التابع Array.empty? في روبي
يتحقق التابع empty? إن كانت مصفوفةٌ فارغةً أم لا. البنية العامة empty? → true or false
القيم المعادة تعاد القيمة true المنطقية إن كانت المصفوفة المعطاة فارغة، أو القيمة false خلا ذلك. أمثلة بعض الأمثلة على استخدام التابع empty?: [].empty? #=> true
[1, 5].empty? #=> false
انظر أيضًا التابع include?: يتحقق إن كان العنصر المُمرّر إليه موجودًا في المصفوفة التي استُدعيت معه. التابع frozen?: يتحقق إن كانت مصفوفةٌ مُجمَّدةً ( frozen) بشكل دائم أو مؤقت ...
التابع ENV.member? في روبي
يتحقَّق التابع ?member إن كان هناك متغير بيئة ذي اسم محدَّد. البنية العامة member?(name) → true or false
المعاملات name اسم متغير البيئة المراد التحقق من وجوده. القيمة المعادة تُعاد القيمة true إن كان هناك متغير بيئة بالاسم name. خلا ذلك، تُعاد القيمة false. انظر أيضًا التابع has_key?: يتحقَّق إن كان هناك متغير بيئة باسم محدَّد. التابع ?key: يتحقَّق إن كان هنالك متغير بيئة باسم محدَّد. التابع has_value?: يتحقَّق إن كان هناك متغير بيئة يملك قيمة محدَّدة. مصادر قسم التابع member? في ...
الصنف RangeError في روبي
يُطلق الاستثناء RangeError عندما تكون قيمة عددية معطاة خارج النطاق. [1, 2, 3].drop(1 << 100)
سيُطلق الاستثناء RangeError بعد تنفيذ هذه الشيفرة: RangeError: bignum too big to convert into `long'
مصادر صفحة الصنف RangeError في توثيق روبي الرسمي.
عرض (500 السابقة | 500 التالية) (20 | 50 | 100 | 250 | 500).