الفرق بين المراجعتين لصفحة: «Ruby/Module/attr»

من موسوعة حسوب
< Ruby‏ | Module
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>attr‎</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف...'
 
ط مراجعة وتدقيق.
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>attr‎</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE: التابع <code>Module.attr‎</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Module]]
[[تصنيف: Ruby Module Class]]
الشكل الأول مكافئ لـ <code>attr_reader</code>. أما الشكل الثاني فيكافئ <code>attr_accessor(name)</code> ولكنه مُتجاوز الآن. الشكل الأخير يكافئ <code>attr_reader(name)</code> لكن متجاوز هو أيضًا.
الشكل الأول للتابع <code>attr</code> (انظر فقرة البنية العامة) مكافئ للتابع <code>[[Ruby/Module/attr accessor|attr_reader]]</code>. أما الشكل الثاني فيكافئ <code>[[Ruby/Module/attr accessor|attr_accessor(name)‎]]</code>، ولكنه أصبح مهملًا الآن. الشكل الأخير يكافئ <code>[[Ruby/Module/attr reader|attr_reader(name)‎]]</code>، لكنه أصبح مهملًا أيضًا.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">attr(name, ...) → nil
<syntaxhighlight lang="ruby">attr(name, ...) → nil
سطر 10: سطر 10:
==المعاملات==
==المعاملات==
===<code>name‎</code>===
===<code>name‎</code>===
 
اسم الميزة.
===<code>...‎</code>===
==القيمة المعادة==
 
تعاد القيمة <code>nil</code>.
===<code>true‎</code>===
 
===<code>false‎</code>===
 
 
==القيمة المُعادة==
 
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/Module/append_features|append_features]]</code>: عندما تكون هذه الوحدة مُضمّنة في وحدة أخرى، فستستدعي روبي <code>append_features</code> في هذه الوحدة، ويمرر إليه وحدة الاستقبال (receiving module) في الوسيط المعطى mod . الإعداد الافتراضي لروبي هو إضافة ثوابت، وتوابع، ومتغيرات هذه الوحدة إلى الوسيط mod إذا لم تكن هذه الوحدة مضافة سلفًا إلى mod أو أحد أسلافه (ancestors). انظر أيضا صفحة <code>Module#include</code>.
*التابع <code>[[Ruby/Module/attr accessor|attr_accessor]]</code>: يحدد  خاصية مسماة (named attribute) لهذه الوحدة.
* التابع <code>[[Ruby/Module/attr_accessor|attr_accessor]]</code>: يحدد  خاصية مسماة (named attribute) لهذه الوحدة ، حيث يكون الاسم هو الرمز.<code>id2name</code> ، وينشئ متغير (<code>@name</code>) وتابع لقراءته. ينشئ أيضًا تابعا يُسمى <code>name=</code> لتعيين الخاصية. يتم تحويل الوسائط <code>String</code> إلى رموز.
*التابع <code>[[Ruby/Module/attr writer|attr_writer]]</code>: ينشئ تابع وصول (accessor method) للسماح بتعيين قيمة للخاصية <code>''symbol''.id2name</code>.
 
==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Module.html#method-i-attr قسم التابع attr‎ في الصنف Module‎ في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/Module.html#method-i-attr قسم التابع attr‎ في الصنف Module‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 08:31، 18 نوفمبر 2018

الشكل الأول للتابع attr (انظر فقرة البنية العامة) مكافئ للتابع attr_reader. أما الشكل الثاني فيكافئ attr_accessor(name)‎، ولكنه أصبح مهملًا الآن. الشكل الأخير يكافئ attr_reader(name)‎، لكنه أصبح مهملًا أيضًا.

البنية العامة

attr(name, ...)  nil
attr(name, true)  nil
attr(name, false)  nil

المعاملات

name‎

اسم الميزة.

القيمة المعادة

تعاد القيمة nil.

انظر أيضا

  • التابع attr_accessor: يحدد خاصية مسماة (named attribute) لهذه الوحدة.
  • التابع attr_writer: ينشئ تابع وصول (accessor method) للسماح بتعيين قيمة للخاصية symbol.id2name.

مصادر