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

من موسوعة حسوب
< Ruby‏ | Module
لا ملخص تعديل
ط مراجعة وتدقيق.
 
سطر 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>''symbol.''id2name</code>، وينشئ متغير نسخة (<code>@name</code>) ومدخلًا (access method) لقراءته. ينشئ أيضًا تابعا يُسمى ‎<code>name=‎</code> لتعيين الخاصية.
يحدد التابع <code>attr_accessor</code> خاصية مسماة (named attribute) لهذه الوحدة، إذ يكون الاسم هو نتيجة التعبير <code>symbol.id2name</code>، وينشئ متغير نسخة (<code>@name</code>) وتابع وصول مقابل له (access method) لقراءته. ينشئ أيضًا تابعًا يُسمى ‎<code>name=‎</code> لتعيين الخاصية.


يتم تحويل الوسائط النصية (<code>String</code>) إلى رموز.
تحول الوسائط [[Ruby/String|النصية]] إلى [[Ruby/Symbol|رموز]].
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">attr_accessor(symbol, ...) → nil
<syntaxhighlight lang="ruby">attr_accessor(symbol, ...) → nil
سطر 11: سطر 11:
==المعاملات==
==المعاملات==
===<code>symbol‎</code>===
===<code>symbol‎</code>===
رمز لتحديد الخاصية.
[[Ruby/Symbol|رمز]] لتحديد الخاصية.
 
===<code>string‎</code>===
===<code>string‎</code>===
سلسلة نصية لتحديد الخاصية.
[[Ruby/String|سلسلة نصية]] لتحديد الخاصية.
 
==القيمة المعادة==
==القيمة المُعادة==
تعاد القيمة <code>nil</code>.
تعاد القيمة <code>nil</code>.
==أمثلة==
==أمثلة==
مثال على استخدام التابع <code>attr_accessor‎</code>:<syntaxhighlight lang="ruby">module Mod
مثال على استخدام التابع <code>attr_accessor‎</code>:<syntaxhighlight lang="ruby">module Mod
سطر 25: سطر 22:
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>[[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>[[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.

مصادر