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

من موسوعة حسوب
< Ruby‏ | Module
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>attr_accessor‎</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby ...'
 
ط مراجعة وتدقيق.
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>attr_accessor‎</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE: التابع <code>Module.attr_accessor‎</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Module]]
[[تصنيف: Ruby Module Class]]
يحدد التابع <code>attr_accessor</code> خاصية مسماة (named attribute) لهذه الوحدة ، حيث يكون الاسم هو الرمز.<code>id2name</code> ، وينشئ متغير (<code>@name</code>) وتابع لقراءته. ينشئ أيضًا تابعا يُسمى <code>name=</code> لتعيين الخاصية. يتم تحويل الوسائط <code>String</code> إلى رموز.
يحدد التابع <code>attr_accessor</code> خاصية مسماة (named attribute) لهذه الوحدة، إذ يكون الاسم هو نتيجة التعبير <code>symbol.id2name</code>، وينشئ متغير نسخة (<code>@name</code>) وتابع وصول مقابل له (access method) لقراءته. ينشئ أيضًا تابعًا يُسمى <code>name=</code> لتعيين الخاصية.
 
تحول الوسائط [[Ruby/String|النصية]] إلى [[Ruby/Symbol|رموز]].
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">attr_accessor(symbol, ...) → nil
<syntaxhighlight lang="ruby">attr_accessor(symbol, ...) → nil
سطر 9: سطر 11:
==المعاملات==
==المعاملات==
===<code>symbol‎</code>===
===<code>symbol‎</code>===
 
[[Ruby/Symbol|رمز]] لتحديد الخاصية.
===<code>...‎</code>===
 
===<code>string‎</code>===
===<code>string‎</code>===
 
[[Ruby/String|سلسلة نصية]] لتحديد الخاصية.
 
==القيمة المعادة==
==القيمة المُعادة==
تعاد القيمة <code>nil</code>.
 
==أمثلة==
==أمثلة==
مثال على استخدام التابع <code>attr_accessor‎</code>:
مثال على استخدام التابع <code>attr_accessor‎</code>:<syntaxhighlight lang="ruby">module Mod
<syntaxhighlight lang="ruby">module Mod
   attr_accessor(:one, :two)
   attr_accessor(:one, :two)
end
end
Mod.instance_methods.sort  #=> [:one, :one=, :two, :two=]‎</syntaxhighlight>
Mod.instance_methods.sort  #=> [:one, :one=, :two, :two=]‎</syntaxhighlight>
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/Module/attr|attr]]</code>: الشكل الأول مكافئ لـ <code>attr_reader</code>. أما الشكل الثاني فيكافئ <code>attr_accessor(name)</code> ولكنه مُتجاوز الآن. الشكل الأخير يكافئ <code>attr_reader(name)</code> لكن متجاوز هو أيضًا.
*التابع <code>[[Ruby/Module/attr|attr]]</code>: الشكل الأول لهذا التابع مكافئ للتابع [[Ruby/Module/attr reader|<code>attr_reader</code>]]. أما الشكل الثاني فيكافئ التابع <code>attr_accessor(name)</code>.
* التابع <code>[[Ruby/Module/attr_reader|attr_reader]]</code>: ينشئ متغيرات نسخ (instance variables) والتوابع المقابلة التي تعيد قيمة كل متغير نسخ. وهو مكافئ لاستدعاء "<code>attr</code>:name" على كل الاسم بالتتابع. تُحوّل الوسائط <code>String</code> إلى رموز.
*التابع <code>[[Ruby/Module/attr reader|attr_reader]]</code>: ينشئ متغيرات نسخ (instance variables) والتوابع المقابلة التي تعيد قيمة كل متغير نسخة.
 
*التابع <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_accessor قسم التابع attr_accessor‎ في الصنف Module‎ في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/Module.html#method-i-attr_accessor قسم التابع attr_accessor‎ في الصنف Module‎ في توثيق روبي الرسمي.]

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

يحدد التابع attr_accessor خاصية مسماة (named attribute) لهذه الوحدة، إذ يكون الاسم هو نتيجة التعبير symbol.id2name، وينشئ متغير نسخة (@name) وتابع وصول مقابل له (access method) لقراءته. ينشئ أيضًا تابعًا يُسمى ‎name=‎ لتعيين الخاصية.

تحول الوسائط النصية إلى رموز.

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

attr_accessor(symbol, ...)  nil
attr_accessor(string, ...)  nil

المعاملات

symbol‎

رمز لتحديد الخاصية.

string‎

سلسلة نصية لتحديد الخاصية.

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

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

أمثلة

مثال على استخدام التابع attr_accessor‎:

module Mod
  attr_accessor(:one, :two)
end
Mod.instance_methods.sort   #=> [:one, :one=, :two, :two=]‎

انظر أيضا

  • التابع attr: الشكل الأول لهذا التابع مكافئ للتابع attr_reader. أما الشكل الثاني فيكافئ التابع attr_accessor(name)‎.
  • التابع attr_reader: ينشئ متغيرات نسخ (instance variables) والتوابع المقابلة التي تعيد قيمة كل متغير نسخة.
  • التابع attr_writer: ينشئ تابع وصول (accessor method) للسماح بتعيين قيمة للخاصية symbol.id2name.

مصادر