الفرق بين المراجعتين لصفحة: «Ruby/Module/undef method»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>undef_method</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude> تصنيف: Ruby ت...' |
لا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Module]] | [[تصنيف: Ruby Module]] | ||
يمنع التابع <code>undef_method</code> الصنف الحالي من الاستجابة للاستدعاءات الموجهة إلى التابع المعطى. على النقيض من <code>remove_method</code>، والذي يحذف التابع من الصنف المعين؛ سيبحث روبي في الأصناف الأبوية (superclasses) وفي الوحدات المختلطة (mixed-in modules) عن مُستقبِل (receiver) محتمل | يمنع التابع <code>undef_method</code> الصنف الحالي من الاستجابة للاستدعاءات الموجهة إلى التابع المعطى. على النقيض من التابع <code>[[Ruby/Module/remove method|remove_method]]</code>، والذي يحذف التابع من الصنف المعين؛ سيبحث روبي في الأصناف الأبوية (superclasses) وفي الوحدات المختلطة (mixed-in modules) عن مُستقبِل (receiver) محتمل. | ||
تُحول الوسائط النصية إلى رموز. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">undef_method(symbol) → self | <syntaxhighlight lang="ruby">undef_method(symbol) → self | ||
سطر 14: | سطر 11: | ||
==المعاملات== | ==المعاملات== | ||
===<code>symbol</code>=== | ===<code>symbol</code>=== | ||
رمز يمثل التابع. | |||
===<code>string</code>=== | ===<code>string</code>=== | ||
سلسلة نصية تمثل التابع. | |||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
يعيد لتابع <code>undef_method</code> الكائن الذي استُدعي معه. | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>undef_method</code>: | مثال على استخدام التابع <code>undef_method</code>:<syntaxhighlight lang="ruby">class Parent | ||
<syntaxhighlight lang="ruby">class Parent | |||
def hello | def hello | ||
puts "In parent" | puts "In parent" | ||
سطر 41: | سطر 38: | ||
undef_method :hello # prevent any calls to 'hello' | undef_method :hello # prevent any calls to 'hello' | ||
end | end | ||
c.hello</syntaxhighlight> | c.hello</syntaxhighlight>الناتج:<syntaxhighlight lang="ruby">In child | ||
In parent | |||
prog.rb:23: undefined method `hello' for #<Child:0x401b3bb4> (NoMethodError)</syntaxhighlight> | |||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Module/ | *التابع <code>[[Ruby/Module/to s|remove_method]]</code>: يزيل <code>remove_method</code> التابع المحدد بواسطة الوسيط <code>symbol</code> (انظر فقرة البنية العامة) من الصنف الحالي. للحصول على أمثلة، انظر صفحة<code>[[Ruby/Module/undef method|undef_method]]</code>. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Module.html#method-i-undef_method قسم التابع undef_method في الصنف Module في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Module.html#method-i-undef_method قسم التابع undef_method في الصنف Module في توثيق روبي الرسمي.] |
مراجعة 10:32، 27 أكتوبر 2018
يمنع التابع undef_method
الصنف الحالي من الاستجابة للاستدعاءات الموجهة إلى التابع المعطى. على النقيض من التابع remove_method
، والذي يحذف التابع من الصنف المعين؛ سيبحث روبي في الأصناف الأبوية (superclasses) وفي الوحدات المختلطة (mixed-in modules) عن مُستقبِل (receiver) محتمل.
تُحول الوسائط النصية إلى رموز.
البنية العامة
undef_method(symbol) → self
undef_method(string) → self
المعاملات
symbol
رمز يمثل التابع.
string
سلسلة نصية تمثل التابع.
القيمة المُعادة
يعيد لتابع undef_method
الكائن الذي استُدعي معه.
أمثلة
مثال على استخدام التابع undef_method
:
class Parent
def hello
puts "In parent"
end
end
class Child < Parent
def hello
puts "In child"
end
end
c = Child.new
c.hello
class Child
remove_method :hello # remove from child, still in parent
end
c.hello
class Child
undef_method :hello # prevent any calls to 'hello'
end
c.hello
الناتج:
In child
In parent
prog.rb:23: undefined method `hello' for #<Child:0x401b3bb4> (NoMethodError)
انظر أيضا
- التابع
remove_method
: يزيلremove_method
التابع المحدد بواسطة الوسيطsymbol
(انظر فقرة البنية العامة) من الصنف الحالي. للحصول على أمثلة، انظر صفحةundef_method
.