نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
الصنف BasicObject في روبي
الصنف BasicObject هو الصنف الأب لجميع الأصناف في روبي، وهو صنف فارغ. يمكن استخدام الصنف BasicObject لإنشاء هرميات كائنية (object hierarchies) مستقلة عن الهرمية الكائنية للغة روبي، أو لإنشاء مغلفات الكائنات (proxy objects) مثل الصنف Delegator، أو حيث يجب تجنب إفساد مجال الأسماء (namespace pollution) من قبل توابع وأصناف روبي. لتجنب إفساد الصنف BasicObject للمستخدمين الآخرين، يجب إنشاء صنف فرعي من الصنف BasicObject تحت اسم مناسب بدلاً من تعديل BasicObject مباشرةً: class MyObjectSystem < BasicObject
end
لا يتضمَّن الصنف BasicObject الوحدة Kernel ...
المعامل == في الصنف BasicObject في روبي
يتحقق المعامل == من تساوي كائنين. عمومًا، يُعاد تعريف هذا التابع في الأصناف السليلة (descendant classes) بما يتناسب مع تلك الأصناف. خلافًا للمعامل ==، يجب ألا يُعاد تعريف التابع equal? من قِبل الأصناف الفرعية، إذ يُستخدم آنذاك لتحديد هوية الكائن (أي يستعمل بالشكل a.equal?(b) لتحديد إذا وفقط إذا كان الكائن a هو نفسه الكائن b [انظر المثال في الأسفل]). يعمل التابع eql? على التحقق إذا كان الكائن الذي استُدعي معه والكائن الذي مُرّر إليه هما نفس الكائن أو يشيران إلى ...
المعامل ! في الصنف BasicObject في روبي
يعكس المعامل ! القيمة المنطقية التي تستعمل معه. البنية العامة !obj → true or false
القيم المعادة تعاد قيمة منطقية معاكسة للقيمة المعطاة. أمثلة بعض الأمثلة على استخدام المعامل !: temperature = 76
if !(temperature < 65 || temperature > 85)
puts "Picnic time!"
else
puts "Sorry, no picnic today."
end
انظر أيضًا المعامل ==: يتحقق من تساوي كائنين. المعامل !=: يتحقق من عدم تساوي كائنين. مصادر قسم المعامل ! في الصنف BasicObject في توثيق روبي الرسمي.
المعامل != في الصنف BasicObject في روبي
يتحقق المعامل != من عدم تساوي كائنين. البنية العامة obj != other → true or false
القيم المعادة تعاد القيمة true إن لم يكن الكائن obj مساويًا للكائن other، أو تعاد القيمة false خلاف ذلك. أمثلة مثال على استخدام المعامل !=: puts 14 != 16 # => true
puts 14 != 14 # => false
انظر أيضًا المعامل ==: يتحقق من تساوي كائنين. المعامل !: يعكس القيمة المنطقية التي تستعمل معه. مصادر قسم ...
التابع method_missing في الصنف BasicObject في روبي
يُستدعى التابع method_missing من قِبل روبي عندما تُرسَل رسالةٌ إلى كائن لا يستطيع التعامل معها. بشكل افتراضي، يُطلق المفسِّر (interpreter) خطأً عندما يُستدعى هذا التابع. على أي حال، يمكن إعادة تعريف (override) هذا التابع للحصول على سلوك أكثر ديناميكية. إذا تقرر أنه لا يجب التعامل مع تابع معيّن، فيجب حينئذٍ استدعاء super حتى يتسنَّى للأصناف الأجداد (ancestors) الوصول إلى التابع المنشود. البنية العامة method_missing(symbol [, *args] ) → result
المعاملات symbol رمزٌ للتابع المُستدعى. args الوسائط التي ستُمرَّر إلى التابع ...
التابع instance_exec في الصنف BasicObject في روبي
ينفِّذ التابع instance_exec الكتلة البرمجية المُمرَّرة ضمن سياق الكائن المستقبل (obj). لتعيين السياق، يُضبَط المتغير self إلى obj أثناء تنفيذ الشيفرة، مما يعطي الشيفرة إمكانية الوصول لمتغيرات النسخة obj. البنية العامة instance_exec(arg...) {|var...| block } → obj
المعاملات arg الوسائط المراد تمريرها كمعاملات إلى الكتلة block. القيم المعادة يعاد كائن يحوي ناتج تنفيذ الكتلة البرمجية block. أمثلة مثال على استخدام التابع instance_exec: class KlassWithSecret
def initialize
@secret = 99
end
end
k = KlassWithSecret.new
k.instance_exec(5) {|x| @secret+x } #=> ...
التابع singleton_method_undefined في الصنف BasicObject في روبي
يُستدعى التابع singleton_method_undefined كرد نداءٍ (callback) في كل مرة يكون فيها تابع منفرد (singleton method) غير مُعرَّف (undefined) في المُستقبِل (receiver). البنية العامة singleton_method_undefined(symbol)
أمثلة مثال على استخدام التابع singleton_method_undefined: module Chatty
def Chatty.singleton_method_undefined(id)
puts "Undefining #{id.id2name}"
end
def Chatty.one() end
class << self
undef_method(:one)
end
end
يظهر هذا المثال عند تنفيذه المخرجات التالية: Undefining one
انظر أيضًا التابع singleton_method_added: يُستَدعى هذا التابع كرد نداءٍ (callback) في كلِّ مرة يُضاف فيها تابع منفرد (singleton method) ...
التابع __send__ في الصنف BasicObject في ruby
يستدعي التابع __send__ (يدعى أيضًا send) التابع الممرَّر إليه مع تمرير وسائط محددة إليه. يُستعمَل الاسم __send__ الخاص بهذا التابع إذا تعارض الاسم send مع اسم تابع موجود مسبقًا في obj. البنية العامة send(symbol [, args...]) → obj
__send__(symbol [, args...]) → obj
send(string [, args...]) → obj
__send__(string [, args...]) → obj
المعاملات symbol اسم التابع المُعرَّف المراد استدعاؤه. ...args الوسائط المراد تمريرها إلى التابع المحدد في المعامل symbol. string سلسلة نصية تمثل اسم التابع المراد استدعاؤه. عندما يُعرّف التابع بواسطة سلسلة ...
التابع __id__ في الصنف BasicObject في روبي
يعيد التابع __id__ (يدعى أيضًا object_id) مُعرِّفا عدديًا للكائن الذي استُدعي معه. سيُعاد نفس المعرِّف في كل مرة يُستدعى فيها التابع object_id مع الكائن نفسه، ولن يتشارك أي كائنين نشطين نفس المعرِّف. ملاحظة: يعاد استخدام بعض كائنات الأصناف المٌضمّنة (builtin classes) وذلك لتحسين الأداء. هذا هو الحال بالنسبة للقيم المباشرة (immediate values) والسلاسل النصية الحرفية المجمدة (frozen string literals). لا تُمرَّر القيم المباشرة بالمرجع (reference) ولكنَّها تُمرَّر بالقيمة، مثل nil، و true، و false، و Fixnums، و Symbols، و Floats. ...
التابع instance_eval في الصنف BasicObject في روبي
يقدِّر (Evaluates) التابع instance_eval ناتج تنفيذ شيفرة مصدرية للغة روبي معطاة كسلسلة نصية أو ناتج كتلة برمجية (block) مُمرَّرة ضمن سياق كائن مُستقبِل (obj). لتعيين السياق، يُضبَط المتغير self إلى obj أثناء تنفيذ الشيفرة، مما يعطي الشيفرة إمكانية الوصول لمتغيرات النسخة obj والتوابع الخاصة. عندما يُمرَّر إلى التابع instance_eval كتلة برمجية، يُمرَّر obj أيضاً كوسيط وحيد للكتلة. البنية العامة instance_eval(string [, filename [, lineno]] ) → obj
instance_eval {|obj| block } → obj
عندما يُمرَّر إلى التابع instance_eval سلسلة نصية، يوفر ...