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

من موسوعة حسوب
< Ruby‏ | Module
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>constants‎</code> الخاص بنسخ الصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby...')
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Module]]
 
[[تصنيف: Ruby Module]]
في الشلك الأول، يعيد التابع <code>constants</code> مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها لحظة الاستدعاء. هناك تابع يحمل نفس الأسم، اضفه إلى الموسوعة الآن؟؟؟ تتضمن هذه القائمة أسماء جميع الوحدات والأصناف المحددة في النطاق الكلي (global scope).
+
يعيد التابع <code>constants</code> مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها من الوحدة. هذا يتضمن أسماء الثوابت في الوحدات المُتضمنة. إلا إن أُعطي للوسيط <code>inherit</code> القيمة  <code>false</code>.
  
يستدعي الشكل الثاني أسلوب المثيل <code>constants</code>.
+
لا يوجد ضمانة لمعرفة الترتيب  الذي ستُعاد به الثوابت.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">constants→ array
 
<syntaxhighlight lang="ruby">constants→ array
سطر 11: سطر 11:
 
==المعاملات==
 
==المعاملات==
 
===<code>inherited‎</code>===
 
===<code>inherited‎</code>===
 
+
في حال إعطائه  القيمة  <code>false</code>  فلن تشمل المصفوفة المعادة أسماء الثوابت في الوحدات المُتضمنة.
  
 
==القيمة المُعادة==
 
==القيمة المُعادة==
 +
يعيد التابع <code>constants</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>: يعيد التابع <code>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‎ في توثيق روبي الرسمي.]

مراجعة 19:47، 26 أكتوبر 2018

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

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

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

constants array
constants(inherited) array

المعاملات

inherited‎

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

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

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

أمثلة

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

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

انظر أيضا

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

مصادر