نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
التابع Module.new في روبي
ينشئ التابع new وحدة مجهولة (anonymous module) جديدة. في حال إعطاء كتلة، فسيٌمرر إليها الوحدة (module)، وستُقيم الكتلة في سياق هذه الوحدة مثل module_eval. اضبط الوحدة وأسند إليها قيمةً ثابتةً (يبدأ اسمها بحرف كبير) إذا كنت تريد معاملتها كأنها وحدة عادية. البنية العامة new→ mod
new {|mod| block }→ mod
القيمة المعادة تعاد وحدة مجهولة (anonymous module) جديدة. أمثلة مثال على استخدام التابع new: fred = Module.new do
def meth1
"hello"
end
def meth2
...
التابع Module.name في روبي
يعيد التابع name اسم الوحدة، أو يعيد القيمة nil إن كانت الوحدة مجهولة (anonymous modules). البنية العامة name → string
القيمة المعادة يعاد اسم الوحدة، أو القيمة nil إن كانت الوحدة مجهولة. انظر أيضا التابع module_function: ينشئ دوال وحدة (module functions) للتابع المعطى. مصادر قسم التابع name في الصنف Module في توثيق روبي الرسمي.
التابع Object.extend في روبي
يُضيف التابع extend توابع النسخة (instance) من كُلِّ وحدةٍ مُرِّرت إليه إلى الكائن الذي استدعي معه. البنية العامة extend(module, ...) → obj
المعاملات module الوحدة المراد إضافة توابع النسخة منها. القيم المعادة يُعاد الكائن المعطى مضافًا إليه توابع النسخة من الوحدات المُمرَّرة. أمثلة مثالٌ عن استخدام التابع extend: module Mod
def hello
"Hello from Mod.\n"
end
end
class Klass
def hello
"Hello from Klass.\n"
end
end
k = Klass.new
k.hello ...
التابع UnboundMethod.owner في روبي
يعيد التابع owner الصنف أو الوحدة (module) التي تعرف التابع الحر الذي استدعي معه. البنية العامة owner → class_or_module
القيمة المعادة يعاد الصنف أو الوحدة (module) التي تعرف التابع الحر. انظر أيضًا التابع original_name: يعيد الاسم الأصلي للتابع الحر الذي استُدعي معه. التابع parameters: يعيد معلومات عن معاملات التابع الحر الذي استُدعي معه. مصادر قسم التابع owner في الصنف UnboundMethod في توثيق روبي الرسمي.
التابع Module.using في روبي
يستورد التابع using الأصناف المحسَّنة (class refinements) من الوحدة المٌمررة إليه إلى التعريف الحالي للصنف أو الوحدة. البنية العامة using(module) → self
المعاملات module الوحدة التي سيُستورد منها الأصناف المحسَّنة. القيمة المعادة يعاد الكائن المعطى نفسه. انظر أيضا التابع refine: يحسِّن الوحدة المستقبلة (receiver) ثم يعيد الوحدة التي عُرِّفت فيها التوابع المحسَّنة. التابع used_modules: يعيد مصفوفة تحتوي جميع الوحدات (modules) المستخدمة في النطاق الحالي. مصادر قسم التابع using في الصنف Module في توثيق روبي الرسمي.
التابع Module.included_modules في روبي
يعيد التابع included_modules قائمة بالوحدات المضمنة في الوحدة التي استُدعي معها. البنية العامة included_modules → array
القيمة المعادة تعاد مصفوفة تحوي الوحدات المضمنة في الوحدة التي استُدعي معها. أمثلة مثال على استخدام التابع included_modules: module Mixin
end
module Outer
include Mixin
end
Mixin.included_modules #=> []
Outer.included_modules #=> [Mixin]
انظر أيضا التابع include: يستدعي التابع Module.append_features على كل المعاملات الممررة بترتيب عكسي. التابع included: يُستدعى في كل مرة يتم تضمين المستقبل (receiver) في وحدة أو صنف آخر. التابع include?: يتحقق إن كانت الوحدة المعطاة مُضمّنةً ...
التابع Module.autoload في روبي
يُُسجل التابع autoload اسم الملف المراد تحميله (باستخدام Kernel::require) في أول مرة يتم فيها الوصول إلى الوحدة الممررة (والتي قد تكون سلسلةً نصيةً أو رمزًا) في مجال أسماء الوحدة التي استُدعيت معه. البنية العامة autoload(module, filename)→ nil
المعاملات module سلسلة نصية أو رمز يمثل الوحدة. filename اسم الملف. القيمة المعادة تعاد القيمة nil. أمثلة مثال على استخدام التابع autoload: module A
end
A.autoload(:B, "b")
A::B.doit # autoloads "b"
انظر أيضا التابع autoload?: يعيد اسم ...
التابع Module.const_get في روبي
يتحقق التابع const_get من وجود ثابت باسم محدد في الوحدة التي استُدعي معها. في حال تعيين المعامل inherit، فسيشمل البحث الأسلاف أيضًا (وكذلك Object إن كانت الوحدة من النوع Module). تُعاد قيمة الثابت إذا عُثر على تعريف له؛ خلا ذلك، سيُطلق الخطأ NameError. Math.const_get(:PI) #=> 3.14159265358979
سيبحث التابع const_get بشكل تكراري (recursively) عن أسماء الثوابت إذا تم توفير اسم صنف من مجال أسماء (namespaced class name). اطلع مثلًا على المثال التالي: module Foo; class Bar; end end
Object.const_get 'Foo::Bar'
تؤخذ الراية inherit بالحسبان ...
التحسينات في روبي
إن ميّزة الأصناف المفتوحة في لغة روبي تسمح لك بإعادة تعريف أو إضافة وظائف إلى أصناف معرّفة مسبقًا. وهذا ما يسمى بمصطلح "ترقيع القرد" (monkey patch). المشكلة هنا أنَّ تعديلات من هذا النوع تكون مرئيّة على المستوى العام (global)، وبالتالي جميع مستخدمي الصنف المرقّع قادرون على رؤية هذه التغييرات، ممّا قد يسبّب تأثيرات جانبيّة غير محسوبة أو حتى عطب في البرامج. تأتي التحسينات هنا لتقلّل أثر ترقيع القرد على مستخدمي الصنف الآخرين، إذ تقدّم طريقة لتوسيع الصنف محليًّا. وإليك مثال ...
التابع Module.extend_object في روبي
يوسع التابع extend_object الكائن المعطى بإضافة ثوابت و توابع هذه الوحدة (والتي تُضاف كتوابع فردية [singleton methods]). هذا هو التابع المستخدم من قبل Object.extend. البنية العامة extend_object(obj) → obj
المعاملات obj الكائن المراد توسعته. القيمة المعادة يعاد الكائن obj بعد توسيعه. أمثلة مثال على استخدام التابع extend_object: module Picky
def Picky.extend_object(o)
if String === o
puts "Can't add Picky to a String"
else
puts ...
التابع autoload الخاص بالصنف Kernel في روبي
يسجل التابع autoload اسم الملف المعطى لكي يُحمّل (باستخدام Kernel::require) في المرة الأولى التي يتم الوصول فيها إلى وحدة محدَّدة. البنية العامة autoload(module, filename)→ nil
المعاملات module سلسلةٌ نصيةٌ أو رمزٌ (symbol) يمثِّل اسم الوحدة. filename اسم الملف. المراد تحميله عن الوصول إلى الوحدة module. القيمة المعادة تعاد القيمة nil عند نجاح العملية. أمثلة مثال على استخدام التابع autoload: autoload(:MyModule, "/usr/local/lib/modules/my_module.rb")
انظر أيضا التابع autoload?: يعيد اسم الملف المراد تحميله إذا سُجّل للتحميل عند الوصول إلى وحدة محدَّدة عبر التابع autoload. ...
الصنف Class في روبي
تُعدُّ الأصناف كائناتٍ من الدرجة الأولى (first-class objects) في روبي، وتعدُّ جميعها نُسخٌ من الصنف Class. عادةً، يمكن عادةً إنشاء صنف جديد بالشكل التالي: class Name
# تكتب هنا الشيفرة التي تعرف سلوك الصنف
end
عندما يُنشَأ صنف جديد، يهيَّأ كائن من النوع Class ويسند إلى ثابت عام (global constant، هو Name في المثال السابق). عند استدعاء Name.new لإنشاء كائن جديد، يُنفَّذ التابع new الخاص بالصنف Class بشكل افتراضي. يمكن إثبات ذلك من خلال إعادة تعريف التابع new: class Class
alias old_new ...
التابع Object.dup في روبي
ينتج التابع dup نسخةً سطحية (shallow copy) من الكائن. تُنسَخ متغيرات النسخة (instance variables) من الكائن، ولكن لا تُنسَخ الكائنات التي تشير إليها (referenced objects). يَنسخ التابع dup الحالة التالفة (tainted state) من الكائن. قد يملك هذا التابع سلوكًا محدَّدًا بالصنف (class-specific behavior)، إذا كان كذلك، سيُوثَّق هذا السلوك تحت التابع .initialize_copy من الصنف نفسه. ما هو الفرق بين التابع clone والتابع dup؟ عمومًا، قد يمتلك التابعين clone و dup دلالاتٍ مختلفةٍ في الأصناف السليلة (descendant classes). لمَّا كان التابع ...
التابع Module.freeze في روبي
يمنع التابع freeze إجراء المزيد من التعديلات على الوحدة. البنية العامة freeze → mod
القيمة المعادة يعاد الكائن المعطى نفسه. انظر أيضا التابع extended: يكافئ التابع included إلا أنه يُستخدم مع الوحدات الموسعة (extended modules). التابع include: يستدعي التابع Module.append_features على كل المعاملات الممررة بترتيب عكسي. مصادر قسم التابع freeze في الصنف Module في توثيق روبي الرسمي.
التابع Method.owner في روبي
يعيد التابع owner الصنف أو الوحدة (module) التي تُعرِّف الكائن Method الذي استُدعي معه. البنية العامة owner → class_or_module
القيمة المعادة يعاد الصنف أو الوحدة التي تُعرِّف الكائن Method المعطى. انظر أيضا التابع original_name: يعيد الاسم الأصلي للتابع الذي استُدعي معه. التابع parameters: يعيد معلومات عن وسائط التابع الذي استُدعي معه. مصادر قسم التابع owner في الصنف Method في توثيق روبي الرسمي.
التابع Module.const_defined? في روبي
يتحقق التابع const_defined? مما إذا كانت الوحدة التي استُدعي معها أو أحد أسلافها (ancestors) تحوي الثابت المعطى. Float.const_defined?(:EPSILON) #=> true, found in Float itself
Float.const_defined?("String") #=> true, found in Object (ancestor)
BasicObject.const_defined?(:Hash) #=> false
إذا كانت الوحدة من النوع Module، فسيتم إضافة إلى ذلك فحص Object وكذلك أسلافه. Math.const_defined?(:String) #=> true, found in Object
في كل الأصناف أو الوحدات المفحوصة، إذا لم يكن الثابت موجودًا وكان التحميل التلقائي (autoload) مفعلًا له، ...
التابع Method.original_name في روبي
يعيد التابع original_name الاسم الأصلي للكائن Method الذي استُدعي معه. البنية العامة original_name → symbol
القيمة المعادة يعاد رمزٌ يمثِّل الاسم الأصلي للكائن Method المعطى. أمثلة مثال على استخدام التابع original_name: class C
def foo; end
alias bar foo
end
C.instance_method(:bar).original_name # => :foo
انظر أيضا التابع name: يعيد اسم التابع. التابع owner: يعيد الصنف أو الوحدة (module) التي تُعرِّف الكائن Method الذي استُدعي معه. مصادر قسم التابع original_name في الصنف Method في توثيق روبي الرسمي.
التابع UnboundMethod.original_name في روبي
يعيد التابع original_name الاسم الأصلي التابع الحر الذي استُدعي معه. البنية العامة original_name → symbol
القيمة المعادة يعاد رمزٌ يمثِّل الاسم الأصلي التابع الحر المعطى. أمثلة مثال على استخدام التابع original_name: class C
def foo; end
alias bar foo
end
C.instance_method(:bar).original_name # => :foo
انظر أيضًا التابع name: يعيد اسم التابع. التابع owner: يعيد الصنف أو الوحدة (module) التي تعرف التابع الحر. مصادر قسم التابع original_name في الصنف UnboundMethod في توثيق روبي الرسمي.
التابع Module.include في روبي
يستدعي التابع include التابع append_features على كل المعاملات المُمرَّرة بترتيب عكسي. البنية العامة include(module, ...) → self
المعاملات module يمثل الوحدة التي سيُستدعَى التابع append_features عليها. ... يمثل الوحدات الأخرى التي سيُستدعَى التابع append_features عليها بترتيب عكسي. القيمة المعادة يعاد الكائن المعطى. انظر أيضا التابع include?: يتحقق إن كانت الوحدة المعطاة مُضمّنة في الوحدة التي استُدعي معها أو في أحد أسلافها (ancestors). التابع included: يُستدعى في كل مرة يتم تضمين المستقبل (receiver) في وحدة أو صنف آخر. التابع included_modules: يعيد قائمة بالوحدات المضمنة في ...
التابع Module.method_added في روبي
يُستدعَى التابع method_added في كل مرة يُضاف تابع نسخة (instance method) إلى المُستقبِل (receiver). البنية العامة method_added(method_name)
المعاملات method_name اسم تابع النسخة. أمثلة مثال على استخدام التابع method_added: module Chatty
def self.method_added(method_name)
puts "Adding #{method_name.inspect}"
end
def self.some_class_method() end
def some_instance_method() end
end
ناتج تنفيذ هذا المثال هو: Adding :some_instance_method
انظر أيضا التابع instance_methods: يعيد مصفوفة تحتوي على أسماء توابع النسخ (instance methods) العامة والمحمية (protected) في المستقبِل (receiver). التابع method_defined?: يتحقق إن كان التابع المعطى مُعرّفًا في ...
عرض (20 السابقة | 20 التالية) (20 | 50 | 100 | 250 | 500).