الفرق بين المراجعتين لصفحة: «Ruby/Module/new»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code>new | <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>[[Ruby/Module/module eval|module_eval]]</code>. | ينشئ التابع <code>new</code> وحدة مجهولة (anonymous module) جديدة. في حال إعطاء كتلة، فسيٌمرر إليها الوحدة (module)، وستُقيم الكتلة في سياق هذه الوحدة مثل <code>[[Ruby/Module/module eval|module_eval]]</code>. | ||
اضبط الوحدة وأسند إليها قيمةً ثابتةً (يبدأ اسمها بحرف كبير) إذا كنت تريد معاملتها كأنها وحدة عادية. | |||
==البنية العامة== | ==البنية العامة== | ||
<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" | ||
سطر 27: | سطر 25: | ||
a.meth2 #=> "bye"</syntaxhighlight> | a.meth2 #=> "bye"</syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Module/nesting|nesting]]</code>: يعيد | *التابع <code>[[Ruby/Module/nesting|nesting]]</code>: يعيد قائمة من الوحدات المتشعبة لحظة الاستدعاء. | ||
* التابع <code>[[Ruby/Module/ | *التابع <code>[[Ruby/Module/used modules|used_modules]]</code>: يعيد مصفوفة تحوي جميع الوحدات (constant) المستخدمة في النطاق الحالي. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Module.html#method-c-new قسم | *[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) المستخدمة في النطاق الحالي.