الفرق بين المراجعتين ل"Ruby/Module/constants-i"

من موسوعة حسوب
< Ruby‏ | Module
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>constants‎</code> الخاص بنسخ الصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby...')
 
ط (مراجعة وتدقيق.)
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>constants‎</code> الخاص بنسخ الصنف <code>Module</code> في روبي}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: التابع <code>Module.constants‎</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Module]]
+
[[تصنيف: Ruby Module Class]]
في الشلك الأول، يعيد التابع <code>constants</code> مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها لحظة الاستدعاء. هناك تابع يحمل نفس الأسم، اضفه إلى الموسوعة الآن؟؟؟ تتضمن هذه القائمة أسماء جميع الوحدات والأصناف المحددة في النطاق الكلي (global scope).
+
يعيد التابع <code>constants</code> مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها من الوحدة. هذا يتضمن أسماء الثوابت في الوحدات المُتضمنة إلا إن مُرِّرت القيمة <code>false</code>.
  
يستدعي الشكل الثاني أسلوب المثيل <code>constants</code>.
+
لا يوجد ضمانة لمعرفة الترتيب الذي ستُعاد به الثوابت.
 
==البنية العامة==
 
==البنية العامة==
<syntaxhighlight lang="ruby">constants→ array
+
<syntaxhighlight lang="ruby">constants(inherited)→ array‎</syntaxhighlight>
constants(inherited)→ array‎</syntaxhighlight>
 
 
==المعاملات==
 
==المعاملات==
 
===<code>inherited‎</code>===
 
===<code>inherited‎</code>===
 +
قيمة منطقية إن كانت <code>false</code>، فلن تشمل المصفوفة المعادة أسماء الثوابت في الوحدات المُتضمنة.
  
 
+
==القيمة المعادة==
==القيمة المُعادة==
+
تعاد مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها من الوحدة.
  
 
==أمثلة==
 
==أمثلة==
 
مثال على استخدام التابع <code>constants‎</code>:
 
مثال على استخدام التابع <code>constants‎</code>:
<syntaxhighlight lang="ruby">Module.constants.first(4)
+
<syntaxhighlight lang="ruby">IO.constants.include?(:SYNC)       #=> true
  # => [:ARGF, :ARGV, :ArgumentError, :Array]
+
IO.constants(false).include?(:SYNC) #=> false</syntaxhighlight>
Module.constants.include?(:SEEK_SET)   # => false
 
class IO
 
  Module.constants.include?(:SEEK_SET) # => true
 
end‎</syntaxhighlight>
 
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/Module/const_set|const_set]]</code>: يضبط  قيمة الثابت المعطى عند الكائن المحدد ، ثم يعيد ذلك الكائن. في حال لم يكن هناك ثابت يحمل الاسم المعطى، فسينشئ ثابتة جديدة.
+
* التابع <code>[[Ruby/Module/const_set|const_set]]</code>: يضبط  قيمة الثابت المعطى عند الكائن المحدد، ثم يعيد ذلك الكائن.
* التابع <code>[[Ruby/Module/define_method|define_method]]</code>: يعرف  تابع نُسخ (instance method) في المُستقبِل (receiver). الوسيط المعطى parameter  يمكن أن يكون من النوع <code>Proc</code> أو <code>Method</code> أو <code>UnboundMethod</code>. في حال تمرير كتلة، فستُستخدم كمتن (body) للتابع. تُقيّم هذه الكتلة باستخدام <code>instance_eval</code>، وهو أمر قد يكون مُشكلًا على البعض، لأن <code>define_method</code> خاصة. (لهذا سنحتال ونستخدم <code>send</code> في هذا المثال.)
+
* التابع <code>[[Ruby/Module/constants|constants‎]]</code>: يعيد مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها لحظة الاستدعاء.  
  
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Module.html#method-i-constants قسم التابع constants‎ في الصنف Module‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/Module.html#method-i-constants قسم التابع constants‎ في الصنف Module‎ في توثيق روبي الرسمي.]

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

يعيد التابع constants مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها من الوحدة. هذا يتضمن أسماء الثوابت في الوحدات المُتضمنة إلا إن مُرِّرت القيمة false.

لا يوجد ضمانة لمعرفة الترتيب الذي ستُعاد به الثوابت.

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

constants(inherited) array

المعاملات

inherited‎

قيمة منطقية إن كانت false، فلن تشمل المصفوفة المعادة أسماء الثوابت في الوحدات المُتضمنة.

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

تعاد مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها من الوحدة.

أمثلة

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

IO.constants.include?(:SYNC)        #=> true
IO.constants(false).include?(:SYNC) #=> false

انظر أيضا

  • التابع const_set: يضبط قيمة الثابت المعطى عند الكائن المحدد، ثم يعيد ذلك الكائن.
  • التابع constants‎: يعيد مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها لحظة الاستدعاء.

مصادر