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

من موسوعة حسوب
< Ruby‏ | Module
أنشأ الصفحة ب'<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>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> لتعيين الخاصية.
 
يتم تحويل الوسائط النصية (<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>...‎</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>attr_reader(name)</code> لكن متجاوز هو أيضًا.
*التابع <code>[[Ruby/Module/attr|attr]]</code>: الشكل الأول مكافئ لـ <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) والتوابع المقابلة التي تعيد قيمة كل متغير نسخة.
 
==مصادر==
==مصادر==
*[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) والتوابع المقابلة التي تعيد قيمة كل متغير نسخة.

مصادر