الفرق بين المراجعتين لصفحة: «Ruby/Module/attr accessor»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>attr_accessor</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby ...' |
لا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Module]] | [[تصنيف: Ruby Module]] | ||
يحدد التابع <code>attr_accessor</code> خاصية مسماة (named attribute) لهذه | يحدد التابع <code>attr_accessor</code> خاصية مسماة (named attribute) لهذه الوحدة، حيث يكون الاسم هو نتيجة التعبير <code>''symbol.''id2name</code>، وينشئ متغير نسخة (<code>@name</code>) ومدخلًا (access method) لقراءته. ينشئ أيضًا تابعا يُسمى <code>name=</code> لتعيين الخاصية. | ||
يتم تحويل الوسائط النصية (<code>String</code>) إلى رموز. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">attr_accessor(symbol, ...) → nil | <syntaxhighlight lang="ruby">attr_accessor(symbol, ...) → nil | ||
سطر 9: | سطر 11: | ||
==المعاملات== | ==المعاملات== | ||
===<code>symbol</code>=== | ===<code>symbol</code>=== | ||
رمز لتحديد الخاصية. | |||
===<code>string</code>=== | ===<code>string</code>=== | ||
سلسلة نصية لتحديد الخاصية. | |||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
تعاد القيمة <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>[[Ruby/Module/attr|attr]]</code>: الشكل الأول مكافئ لـ <code>attr_reader</code>. أما الشكل الثاني فيكافئ <code>attr_accessor(name)</code> | ||
* التابع <code>[[Ruby/Module/ | *التابع <code>[[Ruby/Module/attr reader|attr_reader]]</code>: ينشئ متغيرات نسخ (instance variables) والتوابع المقابلة التي تعيد قيمة كل متغير نسخة. | ||
==مصادر== | ==مصادر== | ||
*[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 في توثيق روبي الرسمي.] |
مراجعة 21:10، 26 أكتوبر 2018
يحدد التابع attr_accessor
خاصية مسماة (named attribute) لهذه الوحدة، حيث يكون الاسم هو نتيجة التعبير symbol.id2name
، وينشئ متغير نسخة (@name
) ومدخلًا (access method) لقراءته. ينشئ أيضًا تابعا يُسمى name=
لتعيين الخاصية.
يتم تحويل الوسائط النصية (String
) إلى رموز.
البنية العامة
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) والتوابع المقابلة التي تعيد قيمة كل متغير نسخة.