الفرق بين المراجعتين ل"Ruby/Module/attr"

من موسوعة حسوب
< Ruby‏ | Module
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>attr‎</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف...')
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Module]]
 
[[تصنيف: Ruby Module]]
الشكل الأول مكافئ لـ <code>attr_reader</code>. أما الشكل الثاني فيكافئ <code>attr_accessor(name)</code> ولكنه مُتجاوز الآن. الشكل الأخير يكافئ <code>attr_reader(name)</code> لكن متجاوز هو أيضًا.
+
الشكل الأول (انظر فقرة البنية العامة) مكافئ للتابع <code>[[Ruby/Module/attr accessor|attr_reader]]</code>. أما الشكل الثاني فيكافئ <code>attr_accessor(name)</code>، ولكنه مُتجاوز الآن. الشكل الأخير يكافئ <code>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>true‎</code>===
 
 
 
===<code>false‎</code>===
 
 
 
  
 
==القيمة المُعادة==
 
==القيمة المُعادة==
 +
تعاد القيمة <code>nil</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/append_features|append_features]]</code>: عندما تكون هذه الوحدة مُضمّنة في وحدة أخرى، فستستدعي روبي <code>append_features</code> في هذه الوحدة،
* التابع <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_accessor|attr_accessor]]</code>: يحدد  خاصية مسماة (named attribute) لهذه الوحدة،
  
 
==مصادر==
 
==مصادر==
 
*[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‎ في توثيق روبي الرسمي.]

مراجعة 21:04، 26 أكتوبر 2018

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

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

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

المعاملات

name‎

اسم الميزة.

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

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

انظر أيضا

  • التابع append_features: عندما تكون هذه الوحدة مُضمّنة في وحدة أخرى، فستستدعي روبي append_features في هذه الوحدة،
  • التابع attr_accessor: يحدد خاصية مسماة (named attribute) لهذه الوحدة،

مصادر