الفرق بين المراجعتين لصفحة: «Ruby/Module/attr accessor»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>attr_accessor</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby ...' |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code>attr_accessor | <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>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>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>[[Ruby/Module/attr|attr]]</code>: الشكل الأول لهذا التابع مكافئ للتابع [[Ruby/Module/attr reader|<code>attr_reader</code>]]. أما الشكل الثاني فيكافئ التابع <code>attr_accessor(name)</code>. | ||
* التابع <code>[[Ruby/Module/ | *التابع <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 قسم | *[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
.