الفرق بين المراجعتين لصفحة: «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) المستخدمة في النطاق الحالي.

مصادر