صفحة الصنف Method في روبي

من موسوعة حسوب

يتم إنشاء كائنات الصنف Method بواسطة التابع Object#method، وترتبط بكائن معين (وليس بالصنف وحسب). ويمكن استخدامها لاستدعاء التابع داخل الكائن، أو ككتلة (block) مرتبطة بمكرر (iterator). كما يمكن فك ارتباطها (unbound) من كائن محدد (سيؤدي ذلك إلى إنشاء كائن UnboundMethod)، ثم ربطها بآخر.

class Thing
  def square(n)
    n*n
  end
end
thing = Thing.new
meth  = thing.method(:square)

meth.call(9)                 #=> 81
[ 1, 2, 3 ].collect(&meth)   #=> [1, 4, 9]

توابع الكائن العامة (Public Instance Methods)

التابع ==

يكاون كائنان من النوع Method متساويين إن كانا مرتبطين بنفس الكائن، وكانا يشيران إلى نفس تعريف التابع، وكان لهما نفس الصنف أو الوحدة (module) المالكة.

التابع ===

يستدعي كتلة التابع مع تمرير المعامل obj كوسيط لـ proc.

التابع []

يستدعي الكتلة البرمجية للتابع، ويضبط قيم وسائط الكتلة عند القيم المعطاة.

التابع arity

يعيد مؤشرا لعدد الوسائط المقبولة من قبل التابع.

التابع call

يستدعي كتلة التابع، ويضبط وسائط الكتلة عند القيم المعطاة params باستخدام صياغة مشابهة لصياغة استدعاء التوابع.

التابع clone

يعيد نسخة من هذا التابع.

التابع curry

يعيد كتلة proc مُجزّءة (curried proc) انطلاقا من التابع الذي استُدعيت معه.

التابع eql?‎

يكون كائنان من النوع Method متساويتين إذا كانا مرتبطين بنفس الكائن، ويرجعان إلى نفس التعريف، وكانا مملوكين من قبل نفس الصنف أو الوحدة.

التابع hash

يعيد رمز التكويد (hash) المقابل لكائن Method الذي استُدعي معه.

التابع inspect

يعيد اسم التابع الأصلي (underlying method).

التابع name

يعيد اسم التابع.

التابع original_name

يعيد الاسم الأصلي للتابع الذي استُدعي معه.

التابع owner

يعيد الصنف أو الوحدة (module) التي تعرف التابع.

التابع parameters

يعيد معلومات عن وسائط التابع .

التابع receiver

يعيد المستقبل المتلقي (bound receiver) لكائن Method .

التابع source_location

يعيد اسم الملف المصدر لروبي ورقم السطر الذي يحتوي هذا التابع، أو يعيد nil إن لم يُعرّف هذا التابع في روبي (أي أصلي).

التابع super_method

يعيد كائنا من النوع Method للصنف الأب (superclass)،

التابع to_proc

يعيد الكائنً من النوع Proc المقابل لهذا التابع.

التابع to_s

يعيد اسم التابع الأصلي (underlying method).

التابع unbind

يفك ارتباط الكائن الذي استُدعي معه من مُستقبِله (receiver) الحالي.

مصادر