الفرق بين المراجعتين ل"Ruby/Module/new"
اذهب إلى التنقل
اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>new</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف:...') |
جميل-بيلوني (نقاش | مساهمات) ط (مراجعة وتدقيق) |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 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>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" | ||
سطر 26: | سطر 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) المستخدمة في النطاق الحالي.