التابع Object.define_singleton_method
في روبي
يُعرِّف التابع define_singleton_method
تابعًا منفردًا (singleton method) في المستقبل (receiver).
البنية العامة
define_singleton_method(symbol, method) → symbol
define_singleton_method(symbol) { block } → symbol
المعاملات
symbol
الرمز المُمرَّر إلى التابع والذي سيُعرِّف التابع المنفرد.
method
التابع المُمرَّر كمعامل. يمكن أن يكون هذا التابع كائنًا من النوع proc
، أو Method
، أو UnboundMethod
.
block
وسيط اختياري يمثِّل الكتلة المُمرَّرة إلى التابع. إذا أعطي، فستُنفَّذ الكتلة المعطاة كما لو أنَّها من جسم التابع method
.
القيم المعادة
يُعاد تابعٌ منفردٌ يمكن استدعائه في المستقبل.
أمثلة
مثالٌ عن استخدام التابع define_singleton_method
:
class A
class << self
def class_name
to_s
end
end
end
A.define_singleton_method(:who_am_i) do
"I am: #{class_name}"
end
A.who_am_i # ==> "I am: A"
guy = "Bob"
guy.define_singleton_method(:hello) { "#{self}: Hello there!" }
guy.hello #=> "Bob: Hello there!"
انظر أيضًا
- التابع
singleton_class
: يُعيد صنف الكائن المُنفرد للكائن الذي استدعي معه. - التابع
singleton_method
: يبحث في التوابع المنفردة فقط بطريقة مشابهة للتابعmethod
. - التابع
singleton_methods
: يُعيد مصفوفةً تحوي أسماء توابع الكائن المنفردة.