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

من موسوعة حسوب
< Ruby‏ | Module
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>new‎</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف:...')
 
ط (مراجعة وتدقيق)
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>new‎</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: التابع <code>Module.new‎</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Module]]
+
[[تصنيف: Ruby Module Class]]
ينشئ التابع <code>new</code> وحدة مجهولة (anonymous module) جديدة. في حال إعطاء كتلة، فسيٌمرر إليها الوحدة (module)، وستُقيم الكتلة في سياق هذه الوحدة مثل <code>module_eval</code>.
+
ينشئ التابع <code>new</code> وحدة مجهولة (anonymous module) جديدة. في حال إعطاء كتلة، فسيٌمرر إليها الوحدة (module)، وستُقيم الكتلة في سياق هذه الوحدة مثل <code>[[Ruby/Module/module eval|module_eval]]</code>.
  
قم بضبط الوحدة وإعطائها قيمة ثابتة (constant) (يبدأ اسمها بحرف كبير) إذا كنت تريد معاملته كأنه وحدة عادية.
+
اضبط الوحدة وأسند إليها قيمةً ثابتةً (يبدأ اسمها بحرف كبير) إذا كنت تريد معاملتها كأنها وحدة عادية.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">new→ mod
 
<syntaxhighlight lang="ruby">new→ mod
 
new {|mod| block }→ mod‎</syntaxhighlight>
 
new {|mod| block }→ mod‎</syntaxhighlight>
==القيمة المُعادة==
+
==القيمة المعادة==
 
+
تعاد وحدة مجهولة (anonymous module) جديدة.
 
==أمثلة==
 
==أمثلة==
مثال على استخدام التابع <code>new‎</code>:
+
مثال على استخدام التابع <code>new‎</code>:<syntaxhighlight lang="ruby">fred = Module.new do
<syntaxhighlight lang="ruby">fred = Module.new do
 
 
   def meth1
 
   def meth1
 
     "hello"
 
     "hello"
سطر 26: سطر 25:
 
a.meth2          #=> "bye"‎</syntaxhighlight>
 
a.meth2          #=> "bye"‎</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/Module/nesting|nesting]]</code>: يعيد قائمة من الوحدات (<code>Modules</code>) المتشعبة لحظة الاستدعاء.
+
*التابع <code>[[Ruby/Module/nesting|nesting]]</code>: يعيد قائمة من الوحدات المتشعبة لحظة الاستدعاء.
* التابع <code>[[Ruby/Module/used_modules|used_modules]]</code>: يعيد مصفوفة تحتوي جميع الوحدات (constant) المستخدمة في النطاق الحالي. ترتيب الوحدات في المصفوفة الناتجة غير محدد. .
+
*التابع <code>[[Ruby/Module/used modules|used_modules]]</code>: يعيد مصفوفة تحوي جميع الوحدات (constant) المستخدمة في النطاق الحالي.
 
 
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Module.html#method-c-new قسم التابع new‎ في الصنف Module‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/Module.html#method-c-new قسم التابع new‎ في الصنف Module‎ في توثيق روبي الرسمي.]

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

ينشئ التابع new وحدة مجهولة (anonymous module) جديدة. في حال إعطاء كتلة، فسيٌمرر إليها الوحدة (module)، وستُقيم الكتلة في سياق هذه الوحدة مثل module_eval.

اضبط الوحدة وأسند إليها قيمةً ثابتةً (يبدأ اسمها بحرف كبير) إذا كنت تريد معاملتها كأنها وحدة عادية.

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

new mod
new {|mod| block } mod

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

تعاد وحدة مجهولة (anonymous module) جديدة.

أمثلة

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

fred = Module.new do
  def meth1
    "hello"
  end
  def meth2
    "bye"
  end
end
a = "my string"
a.extend(fred)   #=> "my string"
a.meth1          #=> "hello"
a.meth2          #=> "bye"‎

انظر أيضا

  • التابع nesting: يعيد قائمة من الوحدات المتشعبة لحظة الاستدعاء.
  • التابع used_modules: يعيد مصفوفة تحوي جميع الوحدات (constant) المستخدمة في النطاق الحالي.

مصادر