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

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


يُعد استخدام الصنف Struct طريقة ملائمة لتجميع مجموعة من الخاصيات (attributes) معًا، باستخدام مداخل (accessor methods) دون الحاجة إلى كتابة صنف جديد.

يُنشئ الصنف Struct أصنافًا فرعية (subclasses) جديدة تحمل مجموعة من الأعضاء مقرونة بقيمها. لكل عضو يتم إنشاء قارئ (method reader) وكاتب (writer method) مشابهين للتابع Module#attr_accessor.

Customer = Struct.new(:name, :address) do
  def greeting
    "Hello #{name}!"
  end
end
dave = Customer.new("Dave", "123 Main")
dave.name     #=> "Dave"
dave.greeting #=> "Hello Dave!"‎

راجع صفحة التابع new للحصول على مزيد من الأمثلة حول إنشاء نسخ (instances) وأصناف فرعية للصنف Struct.

في صفحات التوابع، يشير الوسيط "member" إلى عضو من اعضاء البنية، و الذي يكون إما سلسلة نصية مقتبسة ("name")، أو رمزًا (‎:name).

توابع الصنف العامة (Public Class Methods)

التابع new

ينشئ كائن Struct جديد.

توابع النسخ العامة (Public Instance Methods)

التابع ==

معامل التساوي.

التابع []

معامل الفهرسة.

التابع ‎ []=‎

معامل التعيين.

التابع dig

يستخلص التابع dig القيمة المتشعبة (nested) المحددة بواسطة تسلسل الكائنات keyعن طريق استدعاء dig في كل خطوة،

التابع each

يعيد التابع each قيمة كل عضو من أعضاء البنية بالترتيب.

التابع each_pair

يعيد التابع each_pair اسم وقيمة كل عضو من أعضاء البنية بالترتيب.

التابع eql?‎

معامل التساوي القاموسي (Hash)

التابع hash

يعيد التابع hash قيمة تجزئة (hash value) استنادًا إلى محتويات هذه البنية.

التابع inspect

يعيد التابع inspect سلسلة نصية تحتوي وصفًا لهذه البنية.

التابع length

يُعيد عدد أعضاء البنية.

التابع members

يُعيد أعضاء البنية على هيئة مصفوفة من الرموز:

التابع select

يمرر التابع select قيم كل أعضاء البنية إلى الكتلة ويعيد مصفوفة تحتوي قيم الأعضاء البنية من struct التي تعيد عند تمريرها إلى الكتلة المعطاة القيمة true (تكافئ Enumerable#select).

التابع size

يُعيد التابع size عدد أعضاء البنية.

التابع to_a

يعيد التابع to_a قيم هذه البنية على هيئة مصفوفة Array.

التابع to_h

يُعيد التابع to_h قاموسا يحتوي أسماء وقيم أعضاء البنية.

التابع to_s

يعيد سلسلة نصية تحتوي وصفًا لهذه البنية.

التابع values

يعيد التابع values قيم هذه البنية على هيئة مصفوفة.

التابع values_at

يُعيد التابع values_at قيم أعضاء البنية لكل وسيط selector على هيئة مصفوفة.

مصادر