التابع bind‎ الخاص بالصنف UnboundMethod في روبي

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

يربط bind التابعَ الحرَّ الذي استُدعي معه بالكائن obj (انظر فقرة البنية العامة).

إذا كان Klass هو الصنف الذي أُنشئ منه التابع الحر، فيجب أن يساوي التعبير obj.kind_of?(Klass)‎ القيمة true.

البنية العامة

bind(obj)  method

المعاملات

obj‎

كائن.

القيمة المُعادة

يعاد تابعَ.

أمثلة

مثال على استخدام التابع bind‎:

class A
  def test
    puts "In test, class = #{self.class}"
  end
end
class B < A
end
class C < B
end
um = B.instance_method(:test)
bm = um.bind(C.new)
bm.call
bm = um.bind(B.new)
bm.call
bm = um.bind(A.new)
bm.call

الناتج:

In test, class = C
In test, class = B
prog.rb:16:in `bind': bind argument must be an instance of B (TypeError)
 from prog.rb:16‎

انظر أيضا

  • التابع clone: يعيد clone نسخة من التابع.

مصادر