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

من موسوعة حسوب
< 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> مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها لحظة الاستدعاء. هناك تابع يحمل نفس الأسم، تتضمن هذه القائمة أسماء جميع الوحدات والأصناف المحددة في النطاق الكلي (global scope).
  
يستدعي الشكل الثاني أسلوب المثيل <code>constants</code>.
+
يستدعي الشكل الثاني تابع النسخة‎‎ (instance method‎)‎ ‎‎‏<code>[[Ruby/Module/constants-i|constants‎]]</code>.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">constants→ array
 
<syntaxhighlight lang="ruby">constants→ array
 
constants(inherited)→ array‎</syntaxhighlight>
 
constants(inherited)→ array‎</syntaxhighlight>
==المعاملات==
 
===<code>inherited‎</code>===
 
 
 
 
==القيمة المُعادة==
 
==القيمة المُعادة==
 +
يعيد التابع <code>constants</code> مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها لحظة الاستدعاء.
  
 
==أمثلة==
 
==أمثلة==
سطر 24: سطر 21:
 
end‎</syntaxhighlight>
 
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> في هذا المثال.)
+
* التابع <nowiki/>[[Ruby/Module/constants-i|<code></code>]]<code>[[Ruby/Module/define_method|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-c-constants قسم  التابع constants‎ في الصنف Module‎ في توثيق روبي الرسمي.]

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

في الشكل الأول، يعيد التابع constants مصفوفة من أسماء كل الثوابت التي يمكن الوصول إليها لحظة الاستدعاء. هناك تابع يحمل نفس الأسم، تتضمن هذه القائمة أسماء جميع الوحدات والأصناف المحددة في النطاق الكلي (global scope).

يستدعي الشكل الثاني تابع النسخة‎‎ (instance method‎)‎ ‎‎‏constants‎.

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

constants array
constants(inherited) array

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

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

أمثلة

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

Module.constants.first(4)
   # => [:ARGF, :ARGV, :ArgumentError, :Array]
Module.constants.include?(:SEEK_SET)   # => false
class IO
  Module.constants.include?(:SEEK_SET) # => true
end

انظر أيضا

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

مصادر