التابع 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: يُعيد مصفوفةً تحوي أسماء توابع الكائن المنفردة.