الفرق بين المراجعتين لصفحة: «Ruby/Module»
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) مراجعة وتدقيق. |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:الصنف <code>Module</code> في روبي}}</noinclude> | |||
الصنف <code>Module</code> هو مجموعة من التوابع والثوابت. التوابع الموجودة في الوحدات <code>Module</code> قد تكون إما توابع نسخة (instance methods)، أو توابع وحدة (module methods). توابع النسخة تظهر كتوابع في صنفٍ عند تضمين الوحدة، وذلك على خلاف توابع الوحدة. وعلى النقيض، يمكن استدعاء توابع الوحدة دون إنشاء كائن يُغلفها، بينما قد لا يمكن فعل ذلك مع توابع النسخة. انظر صفحة <code>[[Ruby/Module/module function|module_function]]</code>. | الصنف <code>Module</code> هو مجموعة من التوابع والثوابت. التوابع الموجودة في الوحدات <code>Module</code> قد تكون إما توابع نسخة (instance methods)، أو توابع وحدة (module methods). توابع النسخة تظهر كتوابع في صنفٍ عند تضمين الوحدة، وذلك على خلاف توابع الوحدة. وعلى النقيض، يمكن استدعاء توابع الوحدة دون إنشاء كائن يُغلفها، بينما قد لا يمكن فعل ذلك مع توابع النسخة. انظر صفحة <code>[[Ruby/Module/module function|module_function]]</code>. | ||
سطر 42: | سطر 42: | ||
يعيد المعامل <code>>=</code> القيمة <code>true</code> إن كانت الوحدة <code>Module</code> التي تقع على يساره سلفًا (ancestor) للوحدة التي تقع على يمينه أو إن كانت الوحدتان متساويتين، أو يعيد القيمة <code>nil</code> إن لم تكن بينها أي علاقة. | يعيد المعامل <code>>=</code> القيمة <code>true</code> إن كانت الوحدة <code>Module</code> التي تقع على يساره سلفًا (ancestor) للوحدة التي تقع على يمينه أو إن كانت الوحدتان متساويتين، أو يعيد القيمة <code>nil</code> إن لم تكن بينها أي علاقة. | ||
===[[Ruby/Module/alias method|<code>alias_method</code>]]=== | ===[[Ruby/Module/alias method|<code>alias_method</code>]]=== | ||
ينشئ | ينشئ اسمًا جديدًا (بديلًا) لتابع محدَّد. | ||
===[[Ruby/Module/ancestors|<code>ancestors</code>]]=== | ===[[Ruby/Module/ancestors|<code>ancestors</code>]]=== | ||
يعيد | يعيد قائمة مكونة الوحدات المُتضمنة/المضافة إلى الوحدة التي استُدعيت معها (بما في ذلك الوحدة نفسها). | ||
===[[Ruby/Module/attr|<code>attr</code>]]=== | ===[[Ruby/Module/attr|<code>attr</code>]]=== | ||
يكافئ التابع <code>[[Ruby/Module/attr accessor|attr_reader]]</code>. | يكافئ التابع <code>[[Ruby/Module/attr accessor|attr_reader]]</code>. | ||
===[[Ruby/Module/attr accessor|<code>attr_accessor</code>]]=== | ===[[Ruby/Module/attr accessor|<code>attr_accessor</code>]]=== | ||
يحدد | يحدد خاصية مسماة (named attribute) لهذه الوحدة. | ||
===[[Ruby/Module/attr reader|<code>attr_reader</code>]]=== | ===[[Ruby/Module/attr reader|<code>attr_reader</code>]]=== | ||
ينشئ | ينشئ متغيرات نسخ (instance variables) والتوابع المقابلة التي تعيد قيمة كل متغير نسخ. | ||
===[[Ruby/Module/attr writer|<code>attr_writer</code>]]=== | ===[[Ruby/Module/attr writer|<code>attr_writer</code>]]=== | ||
ينشئ تابع وصول (accessor method) للسماح بتعيين قيمة للخاصية<code>''symbol''.id2name</code>. | ينشئ تابع وصول (accessor method) للسماح بتعيين قيمة للخاصية<code>''symbol''.id2name</code>. | ||
===[[Ruby/Module/autoload|<code>autoload</code>]]=== | ===[[Ruby/Module/autoload|<code>autoload</code>]]=== | ||
يُُسجل | يُُسجل اسم الملف المراد تحميله (باستخدام <code>Kernel::require</code>) في أول مرة يتم فيها الدخول إلى الوحدة. | ||
===[[Ruby/Module/autoload-3F|<code>autoload?</code>]]=== | ===[[Ruby/Module/autoload-3F|<code>autoload?</code>]]=== | ||
يعيد | يعيد اسم الملف الذي سيُحمل إن كان المعامل المعطى مسجلًا عبر التابع<code>[[Ruby/Module/autoload|autoload]]</code> في مجال أسماء الوحدة التي استُدعي معها. | ||
===[[Ruby/Module/class eval|<code>class_eval</code>]]=== | ===[[Ruby/Module/class eval|<code>class_eval</code>]]=== | ||
يُقيِّم السلسلة النصية أو الكتلة المعطاة في سياق الوحدة. | |||
===[[Ruby/Module/class exec|<code>class_exec</code>]]=== | ===[[Ruby/Module/class exec|<code>class_exec</code>]]=== | ||
يقيِّم | يقيِّم الكتلة المعطاة في سياق <nowiki/>[[Ruby/modules and classes|الصنف/الوحدة]] التي استُدعي معها. | ||
===[[Ruby/Module/class variable defined-3F|<code>?class_variable_defined</code>]]=== | ===[[Ruby/Module/class variable defined-3F|<code>?class_variable_defined</code>]]=== | ||
يتحقق | يتحقق إن كان متغير الصنف (class variable) المعطى مٌعرّفا في الكائن الذي استُدعي معه. | ||
===[[Ruby/Module/class variable get|<code>class_variable_get</code>]]=== | ===[[Ruby/Module/class variable get|<code>class_variable_get</code>]]=== | ||
يعيد | يعيد قيمة متغير الصنف المعطى (أو يطلق الاستثناء<code>[[Ruby/NameError|NameError]]</code>). | ||
===[[Ruby/Module/class variable set|<code>class_variable_set</code>]]=== | ===[[Ruby/Module/class variable set|<code>class_variable_set</code>]]=== | ||
يضبط | يضبط قيمة متغير الصنف المحدد بالمعامل المُمرَّر ويحيل إليه قيمة محدَّدة. | ||
===[[Ruby/Module/class variables|<code>class_variables</code>]]=== | ===[[Ruby/Module/class variables|<code>class_variables</code>]]=== | ||
يعيد | يعيد مصفوفة مكونة من أسماء متغيرات الصنف في الوحدة التي استُدعي معها. | ||
===<code rel="mw:WikiLink" title="Ruby/Module/const defined-3F" href="Ruby/Module/const defined-3F">[[Ruby/Module/const defined-3F|?const_defined]]</code>=== | ===<code rel="mw:WikiLink" title="Ruby/Module/const defined-3F" href="Ruby/Module/const defined-3F">[[Ruby/Module/const defined-3F|?const_defined]]</code>=== | ||
يتحقق مما إذا كانت الوحدة التي استُدعي معها أو أحد أسلافها (ancestors) تحوي الثابت المعطى. | يتحقق مما إذا كانت الوحدة التي استُدعي معها أو أحد أسلافها (ancestors) تحوي الثابت المعطى. | ||
===[[Ruby/Module/const get|<code>const_get</code>]]=== | ===[[Ruby/Module/const get|<code>const_get</code>]]=== | ||
يتحقق | يتحقق من وجود ثابت باسم محدد في الوحدة التي استُدعي معها. | ||
===[[Ruby/Module/const missing|<code>const_missing</code>]]=== | ===[[Ruby/Module/const missing|<code>const_missing</code>]]=== | ||
يُستدعى عند محاولة استخدام ثابت غير معرف في الوحدة. | يُستدعى عند محاولة استخدام ثابت غير معرف في الوحدة. | ||
===<code rel="mw:WikiLink" title="Ruby/Module/const set" href="Ruby/Module/const set">[[Ruby/Module/const set|const_set]]</code>=== | ===<code rel="mw:WikiLink" title="Ruby/Module/const set" href="Ruby/Module/const set">[[Ruby/Module/const set|const_set]]</code>=== | ||
يضبط | يضبط قيمة ثابت محدَّد إلى قيمة الكائن المعطى ثم يعيد ذلك الكائن. | ||
===[[Ruby/Module/constants|<code>constants</code>]]=== | ===[[Ruby/Module/constants|<code>constants</code>]]=== | ||
يعيد | يعيد مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها لحظة الاستدعاء. | ||
===[[Ruby/Module/define method|<code>define_method</code>]]=== | ===[[Ruby/Module/define method|<code>define_method</code>]]=== | ||
يعرّف | يعرّف تابع نُسخة (instance method) في المُستقبِل (receiver). | ||
===[[Ruby/Module/deprecate constant|<code>deprecate_constant</code>]]=== | ===[[Ruby/Module/deprecate constant|<code>deprecate_constant</code>]]=== | ||
ينشئ | ينشئ قائمة بالثوابت الموجودة المهملة. | ||
===[[Ruby/Module/freeze|<code>freeze</code>]]=== | ===[[Ruby/Module/freeze|<code>freeze</code>]]=== | ||
يمنع | يمنع إجراء المزيد من التعديلات على <nowiki/>[[Ruby/Module|الوحدة]]. | ||
===[[Ruby/Module/include|<code>include</code>]]=== | ===[[Ruby/Module/include|<code>include</code>]]=== | ||
يستدعي التابع | يستدعي التابع <code>[[Ruby/Module/append features|append_features]]</code> على كل المعاملات المُمرَّرة بترتيب عكسي. | ||
===[[Ruby/Module/include-3F|<code>?include</code>]]=== | ===[[Ruby/Module/include-3F|<code>?include</code>]]=== | ||
يتحقق | يتحقق إن كانت الوحدة المعطاة مُضمّنة في الوحدة التي استُدعي معها أو أحد أسلافها (ancestors). | ||
===[[Ruby/Module/included modules|<code>included_modules</code>]]=== | ===[[Ruby/Module/included modules|<code>included_modules</code>]]=== | ||
يعيد | يعيد قائمة بالوحدات المضمنة في الوحدة التي استُدعي معها. | ||
===[[Ruby/Module/inspect|<code>inspect</code>]]=== | ===[[Ruby/Module/inspect|<code>inspect</code>]]=== | ||
هو اسم بديل للتابع <code>[[Ruby/Module/to s|to_s]]</code>. | |||
===[[Ruby/Module/instance method|<code>instance_method</code>]]=== | ===[[Ruby/Module/instance method|<code>instance_method</code>]]=== | ||
يعيد | يعيد كائنًا من النوع <code>[[Ruby/UnboundMethod|UnboundMethod]]</code> يمثل تابع النسخة (instance method) المعطى في الوحدة التي استُدعي معها. | ||
===[[Ruby/Module/instance methods|<code>instance_methods</code>]]=== | ===[[Ruby/Module/instance methods|<code>instance_methods</code>]]=== | ||
يعيد | يعيد مصفوفةً تحتوي على أسماء توابع النسخ (instance methods) العامة والمحمية (protected) في المستقبِل. | ||
===[[Ruby/Module/constants-i|<code>constants</code>]]=== | ===[[Ruby/Module/constants-i|<code>constants</code>]]=== | ||
يعيد التابع <code> | يعيد مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها من الوحدة. | ||
===<code rel="mw:WikiLink" title="Ruby/Module/method defined-3F" href="Ruby/Module/method defined-3F">?[[Ruby/Module/method defined-3F|method_defined]]</code>=== | |||
يتحقق إن كان التابع المعطى مُعرّفًا في الوحدة أو الصنف (أو في الوحدات المُتضمنة فيه، وإن كان صنفًا في أسلافه). | |||
===[[Ruby/Module/module eval|<code>module_eval</code>]]=== | |||
يُقيّم السلسلة النصية أو الكتلة المعطاة في سياق الوحدة. | |||
===[[Ruby/Module/module exec|<code>module_exec</code>]]=== | |||
يقيّم الكتلة الممررة في سياق الصنف/الوحدة. | |||
===[[Ruby/Module/name|<code>name</code>]]=== | |||
يعيد اسم الوحدة، أو يعيد القيمة <code>nil</code> إن كانت الوحدة مجهولة (anonymous modules). | |||
===[[Ruby/Module/prepend|<code>prepend</code>]]=== | |||
يستدعي التابع <code>[[Ruby/Module/prepend features|prepend_features]]</code> على كل المعاملات المعطاة بترتيب عكسي. | |||
===[[Ruby/Module/private class method|<code>private_class_method</code>]]=== | |||
يجعل توابع صنفٍ محدَّدٍ خاصة (private). | |||
===[[Ruby/Module/private constant|<code>private_constant</code>]]=== | |||
ينشئ قائمة بالثوابت الخاصة الموجودة. | |||
===[[Ruby/Module/private instance methods|<code>private_instance_methods</code>]]=== | |||
يعيد قائمة بتوابع النسخة الخاصة (private instance methods) المعرفة في الوحدة. | |||
===[[Ruby/Module/private method defined-3F|<code>private_method_defined?</code>]]=== | |||
يتحقق إن كان التابع الخاص (private) المعطى معرَّفًا من قِبَل <code>_ mod_</code> (أو الوحدات المتضمنة فيه، وأسلافه [ancestors] إن كان صنفًا). | |||
===[[Ruby/Module/protected instance methods|<code>protected_instance_methods</code>]]=== | |||
يعيد قائمة بتوابع النسخة (instance methods) المحمية المعرفة في الوحدة. | |||
===[[Ruby/Module/protected method defined-3F|<code>protected_method_defined?</code>]]=== | |||
يتحقق إن كان التابع المحمي (protected) المعطى معرفًا في الوحدة (أو الوحدات المُتضمنة فيه، أو أسلافه إن كان صنفًا). | |||
===[[Ruby/Module/public class method|<code>public_class_method</code>]]=== | |||
ينشئ قائمةً بتوابع الصنف العامة الحالية. | |||
===[[Ruby/Module/public constant|<code>public_constant</code>]]=== | |||
ينشئ قائمةً بالثوابت العامة الموجودة. | |||
===[[Ruby/Module/public instance method|<code>public_instance_method</code>]]=== | |||
يبحث عن التوابع العامة (public) وحسب على غرار التابع<code>[[Ruby/Module/instance method|instance_method]]</code>. | |||
===[[Ruby/Module/public instance methods|<code>public_instance_methods</code>]]=== | |||
يعيد قائمة بتوابع النسخة العامة (public instance methods) المعرفة في الوحدة. | |||
===[[Ruby/Module/public method defined-3F|<code>public_method_defined?</code>]]=== | |||
يتحقق إن كان التابع العام (public method) المعطى معرفًا في <nowiki/>[[Ruby/modules and classes|الوحدة/الصنف]] (أو الوحدات المتضمنة فيه، أو أسلافه إن كان صنفا). | |||
===[[Ruby/Module/remove class variable|<code>remove_class_variable</code>]]=== | |||
يزيل تعريف متغير محدَّد من صنفٍ ثم يعيد قيمة ذلك الثابت. | |||
===[[Ruby/Module/remove method|<code>remove_method</code>]]=== | |||
يزيل تابعًا ذا اسم محدَّد من الصنف الحالي. | |||
===[[Ruby/Module/singleton class-3F|<code>singleton_class?</code>]]=== | |||
يتحقق إن كان الصنف الذي استُدعي معه صنفا مفردًا (singleton class). | |||
===[[Ruby/Module/to s|<code>to_s</code>]]=== | |||
يعيد سلسلة نصية تمثل الوحدة أو الصنف الذي استدعي معه. | |||
===[[Ruby/Module/undef method|<code>undef_method</code>]]=== | |||
يمنع الصنف الحالي من الاستجابة للاستدعاءات الموجهة إلى التابع المعطى. | |||
== توابع النسخة الخاصة (Private Instance Methods) == | |||
===[[Ruby/Module/append features|<code>append_features</code>]]=== | |||
عندما تكون هذه الوحدة مُضمّنة في وحدة أخرى، فستستدعي روبي التابع <code>append_features</code> في هذه الوحدة، وتمرر إليه الوحدة المستقبلة (receiving module) التي استُدعيت معه. | |||
===[[Ruby/Module/extend object|<code>extend_object</code>]]=== | |||
يوسع الكائن المعطى بإضافة ثوابت و توابع هذه الوحدة (والتي تُضاف كتوابع فردية [singleton methods]). | |||
===[[Ruby/Module/extended|<code>extended</code>]]=== | |||
يكافئ التابع <code>[[Ruby/Module/included|included]]</code> إلا أنه يُستخدم مع الوحدات الموسعة (extended modules). | |||
===[[Ruby/Module/included|<code>included</code>]]=== | |||
يمثِّل رد نداء يُستدعَى في كل مرة يتم تضمين المستقبل (receiver) في وحدة أو صنف آخر. | |||
===[[Ruby/Module/method added|<code>method_added</code>]]=== | ===[[Ruby/Module/method added|<code>method_added</code>]]=== | ||
يُستدعَى | يُستدعَى في كل مرة يُضاف تابع نسخة (instance method) إلى المُستقبِل (receiver). | ||
===[[Ruby/Module/method removed|<code>method_removed</code>]]=== | ===[[Ruby/Module/method removed|<code>method_removed</code>]]=== | ||
يستدعى | يستدعى في كل مرة يُزال تابع نسخة (instance method) من المُستقبِل (receiver). | ||
===<code>[[Ruby/Module/method undefined|method_undefined]]</code>=== | |||
=== <code>[[Ruby/Module/method undefined|method_undefined]]</code> === | |||
غير موثَّق بعد. | غير موثَّق بعد. | ||
===[[Ruby/Module/module function|<code>module_function</code>]]=== | |||
===[[Ruby/Module/module | ينشئ دوال وحدة (module functions) للتوابع المعطاة. | ||
===[[Ruby/Module/prepend features|<code>prepend_features</code>]]=== | |||
يُستدعَى في الوحدة المعطاة عندما تُرفق هذه الوحدة في أخرى، وتُمرَّر إليها الوحدة المُستقبِلة (receiving module) في الوحدة التي مُمرِّرت إليه. | |||
===[[Ruby/Module/prepended|<code>prepended</code>]]=== | |||
يكافئ التابع <code>[[Ruby/Module/included|included]]</code> باستثناء أنَّه مخصص للوحدات المُرفقة (prepended modules). | |||
ينشئ | ===[[Ruby/Module/private|<code>private</code>]]=== | ||
يعين [[Ruby/modules and classes#.D8.A7.D9.84.D9.85.D8.B1.D8.A6.D9.8A.D8.A9|المرئية]] (visibility) الافتراضية للتوابع المحددة لاحقًا إلى المرئية <code>private</code>الخاصة إن استدعي دون تمرير أي شيء إليه. أما في حال تمرير اسم تابع (أو عدة توابع إليه)، فسيضبط<nowiki/>[[Ruby/modules and classes#.D8.A7.D9.84.D9.85.D8.B1.D8.A6.D9.8A.D8.A9|مرئية]] هذه التوابع إلى المرئية <code>private</code> الخاصة. | |||
===[[Ruby/Module/protected|<code>protected</code>]]=== | |||
===[[Ruby/Module/prepend| | يعين [[Ruby/modules and classes#.D8.A7.D9.84.D9.85.D8.B1.D8.A6.D9.8A.D8.A9|المرئية]] (visibility) الافتراضية للتوابع المعرفة لاحقًا إلى المرئية<code>protected</code> المحمية إن لم يمُرَّر إليه أي شيء. أما في حال تمرير اسم تابع (أو عدة توابع إليه)، فسيضبط <nowiki/>[[Ruby/modules and classes#.D8.A7.D9.84.D9.85.D8.B1.D8.A6.D9.8A.D8.A9|مرئية]] هذه التوابع المرئية <code>protected</code> المحمية. | ||
===[[Ruby/Module/public|<code>public</code>]]=== | |||
يعين [[Ruby/modules and classes#.D8.A7.D9.84.D9.85.D8.B1.D8.A6.D9.8A.D8.A9|المرئية]] (visibility) الافتراضية للتوابع المعرفة لاحقًا إلى <code>public</code> العامة إن لم يمُرَّر إليه أي شيء. أما في حال تمرير اسم تابع (أو عدة توابع إليه)، فسيضبط <nowiki/>[[Ruby/modules and classes#.D8.A7.D9.84.D9.85.D8.B1.D8.A6.D9.8A.D8.A9|مرئية]] هذه التوابع المرئية <code>public</code> العامة. | |||
عندما تُرفق هذه الوحدة | ===[[Ruby/Module/refine|<code>refine</code>]]=== | ||
===[[Ruby/Module/prepended|prepended]]=== | [[Ruby/refinements|يحسِّن]] (refine) الوحدة المستقبلة (receiver) ثم يعيد <nowiki/>[[Ruby/Module|الوحدة]] التي عُرِّفت فيها<nowiki/>[[Ruby/refinements|التوابع المحسَّنة]]. | ||
يكافئ <code>included</code> | ===[[Ruby/Module/remove const|<code>remove_const</code>]]=== | ||
===[[Ruby/Module/private|private]]=== | يزيل تعريف ثابت محدَّد، ويعيد القيمة السابقة له. | ||
===[[Ruby/Module/using|<code>using</code>]]=== | |||
يستورد [[Ruby/refinements|الأصناف المحسَّنة]] (class refinements) من الوحدة المٌمررة إليه إلى التعريف الحالي للصنف أو الوحدة. | |||
===[[Ruby/Module/ | |||
===[[Ruby/ | |||
===[[Ruby/Module/public|public]]=== | |||
===[[Ruby/Module/ | |||
===[[Ruby/Module/remove | |||
===[[Ruby/Module/ | |||
==مصادر<span> </span>== | ==مصادر<span> </span>== | ||
*[http://ruby-doc.org/core-2.5.1/Module.html قسم الصنف Module في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Module.html قسم الصنف Module في توثيق روبي الرسمي.] | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Module]] | [[تصنيف: Ruby Class]] | ||
[[تصنيف: Ruby Module]] | |||
[[تصنيف: Ruby Module Class]] |
المراجعة الحالية بتاريخ 18:13، 19 نوفمبر 2018
الصنف Module
هو مجموعة من التوابع والثوابت. التوابع الموجودة في الوحدات Module
قد تكون إما توابع نسخة (instance methods)، أو توابع وحدة (module methods). توابع النسخة تظهر كتوابع في صنفٍ عند تضمين الوحدة، وذلك على خلاف توابع الوحدة. وعلى النقيض، يمكن استدعاء توابع الوحدة دون إنشاء كائن يُغلفها، بينما قد لا يمكن فعل ذلك مع توابع النسخة. انظر صفحة module_function
.
في الأمثلة الموجودة في صفحات التوابع، يشير المعامل sym
إلى رمز، والذي قد يكون إما سلسلة نصية، أو كائنًا من النوع Symbol
(مثل :name
).
module Mod
include Math
CONST = 1
def meth
# ...
end
end
Mod.class #=> Module
Mod.constants #=> [:CONST, :PI, :E]
Mod.instance_methods #=> [:meth]
توابع الصنف العامة (Public Class Methods)
constants
يعيد مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها لحظة الاستدعاء.
()constants
يعيد مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها من الوحدة.
nesting
يعيد قائمة من الوحدات المتشعبة (Modules nested) لحظة الاستدعاء.
new
ينشئ وحدة مجهولة (anonymous module) جديدة.
used_modules
يعيد مصفوفة تحتوي جميع الوحدات (modules) المستخدمة في النطاق الحالي.
توابع النسخة العامة (Public Instance Methods)
<
يعيد المعامل <
القيمة true
إن كانت الوحدة Module
التي تقع على يساره صنفًا فرعيًّا من الوحدة التي تقع على يمينه، أو يعيد القيمة nil
إن لم تكن بينهما أية علاقة.
<=
يعيد المعامل <=
القيمة true
إن كانت الوحدة Module
التي تقع على يساره صنفًا فرعيًّا من الوحدة التي تقع على يمينه أو كانت الوحدتان متساويتين تمامًا، أو يعيد القيمة nil
إذا لم تكن بينهما أية علاقة.
<=>
يجري المعامل <=>
عملية الموازنة بين كائنين ثم يعيد الناتج الذي يشير إلى العلاقة بينهما.
==
يتحقق معامل التساوي ==
من تساوي كائنين.
===
يعيد المعامل ===
القيمة true
إن كان الكائن الواقع على يمينه نسخةً (instance ) من الكائنModule
الواقع على يمينه أو من أحد الأصناف المنحدرة منه.
>
يعيد المعامل <
القيمة true
الكائن Module
الذي يقع على يساره سلفًا (ancestor) للكائن الذي يقع على يمينه، أو يعيد القيمة nil
إن لم تكن بينهما أية علاقة.
>=
يعيد المعامل >=
القيمة true
إن كانت الوحدة Module
التي تقع على يساره سلفًا (ancestor) للوحدة التي تقع على يمينه أو إن كانت الوحدتان متساويتين، أو يعيد القيمة nil
إن لم تكن بينها أي علاقة.
alias_method
ينشئ اسمًا جديدًا (بديلًا) لتابع محدَّد.
ancestors
يعيد قائمة مكونة الوحدات المُتضمنة/المضافة إلى الوحدة التي استُدعيت معها (بما في ذلك الوحدة نفسها).
attr
يكافئ التابع attr_reader
.
attr_accessor
يحدد خاصية مسماة (named attribute) لهذه الوحدة.
attr_reader
ينشئ متغيرات نسخ (instance variables) والتوابع المقابلة التي تعيد قيمة كل متغير نسخ.
attr_writer
ينشئ تابع وصول (accessor method) للسماح بتعيين قيمة للخاصيةsymbol.id2name
.
autoload
يُُسجل اسم الملف المراد تحميله (باستخدام Kernel::require
) في أول مرة يتم فيها الدخول إلى الوحدة.
autoload?
يعيد اسم الملف الذي سيُحمل إن كان المعامل المعطى مسجلًا عبر التابعautoload
في مجال أسماء الوحدة التي استُدعي معها.
class_eval
يُقيِّم السلسلة النصية أو الكتلة المعطاة في سياق الوحدة.
class_exec
يقيِّم الكتلة المعطاة في سياق الصنف/الوحدة التي استُدعي معها.
?class_variable_defined
يتحقق إن كان متغير الصنف (class variable) المعطى مٌعرّفا في الكائن الذي استُدعي معه.
class_variable_get
يعيد قيمة متغير الصنف المعطى (أو يطلق الاستثناءNameError
).
class_variable_set
يضبط قيمة متغير الصنف المحدد بالمعامل المُمرَّر ويحيل إليه قيمة محدَّدة.
class_variables
يعيد مصفوفة مكونة من أسماء متغيرات الصنف في الوحدة التي استُدعي معها.
?const_defined
يتحقق مما إذا كانت الوحدة التي استُدعي معها أو أحد أسلافها (ancestors) تحوي الثابت المعطى.
const_get
يتحقق من وجود ثابت باسم محدد في الوحدة التي استُدعي معها.
const_missing
يُستدعى عند محاولة استخدام ثابت غير معرف في الوحدة.
const_set
يضبط قيمة ثابت محدَّد إلى قيمة الكائن المعطى ثم يعيد ذلك الكائن.
constants
يعيد مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها لحظة الاستدعاء.
define_method
يعرّف تابع نُسخة (instance method) في المُستقبِل (receiver).
deprecate_constant
ينشئ قائمة بالثوابت الموجودة المهملة.
freeze
يمنع إجراء المزيد من التعديلات على الوحدة.
include
يستدعي التابع append_features
على كل المعاملات المُمرَّرة بترتيب عكسي.
?include
يتحقق إن كانت الوحدة المعطاة مُضمّنة في الوحدة التي استُدعي معها أو أحد أسلافها (ancestors).
included_modules
يعيد قائمة بالوحدات المضمنة في الوحدة التي استُدعي معها.
inspect
هو اسم بديل للتابع to_s
.
instance_method
يعيد كائنًا من النوع UnboundMethod
يمثل تابع النسخة (instance method) المعطى في الوحدة التي استُدعي معها.
instance_methods
يعيد مصفوفةً تحتوي على أسماء توابع النسخ (instance methods) العامة والمحمية (protected) في المستقبِل.
constants
يعيد مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها من الوحدة.
?method_defined
يتحقق إن كان التابع المعطى مُعرّفًا في الوحدة أو الصنف (أو في الوحدات المُتضمنة فيه، وإن كان صنفًا في أسلافه).
module_eval
يُقيّم السلسلة النصية أو الكتلة المعطاة في سياق الوحدة.
module_exec
يقيّم الكتلة الممررة في سياق الصنف/الوحدة.
name
يعيد اسم الوحدة، أو يعيد القيمة nil
إن كانت الوحدة مجهولة (anonymous modules).
prepend
يستدعي التابع prepend_features
على كل المعاملات المعطاة بترتيب عكسي.
private_class_method
يجعل توابع صنفٍ محدَّدٍ خاصة (private).
private_constant
ينشئ قائمة بالثوابت الخاصة الموجودة.
private_instance_methods
يعيد قائمة بتوابع النسخة الخاصة (private instance methods) المعرفة في الوحدة.
private_method_defined?
يتحقق إن كان التابع الخاص (private) المعطى معرَّفًا من قِبَل _ mod_
(أو الوحدات المتضمنة فيه، وأسلافه [ancestors] إن كان صنفًا).
protected_instance_methods
يعيد قائمة بتوابع النسخة (instance methods) المحمية المعرفة في الوحدة.
protected_method_defined?
يتحقق إن كان التابع المحمي (protected) المعطى معرفًا في الوحدة (أو الوحدات المُتضمنة فيه، أو أسلافه إن كان صنفًا).
public_class_method
ينشئ قائمةً بتوابع الصنف العامة الحالية.
public_constant
ينشئ قائمةً بالثوابت العامة الموجودة.
public_instance_method
يبحث عن التوابع العامة (public) وحسب على غرار التابعinstance_method
.
public_instance_methods
يعيد قائمة بتوابع النسخة العامة (public instance methods) المعرفة في الوحدة.
public_method_defined?
يتحقق إن كان التابع العام (public method) المعطى معرفًا في الوحدة/الصنف (أو الوحدات المتضمنة فيه، أو أسلافه إن كان صنفا).
remove_class_variable
يزيل تعريف متغير محدَّد من صنفٍ ثم يعيد قيمة ذلك الثابت.
remove_method
يزيل تابعًا ذا اسم محدَّد من الصنف الحالي.
singleton_class?
يتحقق إن كان الصنف الذي استُدعي معه صنفا مفردًا (singleton class).
to_s
يعيد سلسلة نصية تمثل الوحدة أو الصنف الذي استدعي معه.
undef_method
يمنع الصنف الحالي من الاستجابة للاستدعاءات الموجهة إلى التابع المعطى.
توابع النسخة الخاصة (Private Instance Methods)
append_features
عندما تكون هذه الوحدة مُضمّنة في وحدة أخرى، فستستدعي روبي التابع append_features
في هذه الوحدة، وتمرر إليه الوحدة المستقبلة (receiving module) التي استُدعيت معه.
extend_object
يوسع الكائن المعطى بإضافة ثوابت و توابع هذه الوحدة (والتي تُضاف كتوابع فردية [singleton methods]).
extended
يكافئ التابع included
إلا أنه يُستخدم مع الوحدات الموسعة (extended modules).
included
يمثِّل رد نداء يُستدعَى في كل مرة يتم تضمين المستقبل (receiver) في وحدة أو صنف آخر.
method_added
يُستدعَى في كل مرة يُضاف تابع نسخة (instance method) إلى المُستقبِل (receiver).
method_removed
يستدعى في كل مرة يُزال تابع نسخة (instance method) من المُستقبِل (receiver).
method_undefined
غير موثَّق بعد.
module_function
ينشئ دوال وحدة (module functions) للتوابع المعطاة.
prepend_features
يُستدعَى في الوحدة المعطاة عندما تُرفق هذه الوحدة في أخرى، وتُمرَّر إليها الوحدة المُستقبِلة (receiving module) في الوحدة التي مُمرِّرت إليه.
prepended
يكافئ التابع included
باستثناء أنَّه مخصص للوحدات المُرفقة (prepended modules).
private
يعين المرئية (visibility) الافتراضية للتوابع المحددة لاحقًا إلى المرئية private
الخاصة إن استدعي دون تمرير أي شيء إليه. أما في حال تمرير اسم تابع (أو عدة توابع إليه)، فسيضبطمرئية هذه التوابع إلى المرئية private
الخاصة.
protected
يعين المرئية (visibility) الافتراضية للتوابع المعرفة لاحقًا إلى المرئيةprotected
المحمية إن لم يمُرَّر إليه أي شيء. أما في حال تمرير اسم تابع (أو عدة توابع إليه)، فسيضبط مرئية هذه التوابع المرئية protected
المحمية.
public
يعين المرئية (visibility) الافتراضية للتوابع المعرفة لاحقًا إلى public
العامة إن لم يمُرَّر إليه أي شيء. أما في حال تمرير اسم تابع (أو عدة توابع إليه)، فسيضبط مرئية هذه التوابع المرئية public
العامة.
refine
يحسِّن (refine) الوحدة المستقبلة (receiver) ثم يعيد الوحدة التي عُرِّفت فيهاالتوابع المحسَّنة.
remove_const
يزيل تعريف ثابت محدَّد، ويعيد القيمة السابقة له.
using
يستورد الأصناف المحسَّنة (class refinements) من الوحدة المٌمررة إليه إلى التعريف الحالي للصنف أو الوحدة.