صفحة الصنف Symbol في روبي
تمثل كائنات الصنف Symbol أسماء وبعض السلسلة نصية داخل مترجم (interpreter) روبي. يمكن إنشاؤها باستخدام الصياغتين الحرفيتين :name و :"string"، أو بواسطة التوابع to_sym. سيتم إنشاء نفس الكائن Symbol لاسم أو سلسلة نصية معينة طوال مدة تنفيذ البرنامج، بغض النظر عن السياق أو معنى هذا الاسم. وبالتالي، إن كان Fred ثابتًا في سياق معيّن، وتابعًا في سياق آخر، وصنفًا في سياق ثالث، فسيكون الرمز Symbol :Fred نفس الكائن في جميع السياقات الثلاث.
module One
class Fred
end
$f1 = :Fred
end
module Two
Fred = 1
$f2 = :Fred
end
def Fred()
end
$f3 = :Fred
$f1.object_id #=> 2514190
$f2.object_id #=> 2514190
$f3.object_id #=> 2514190
توابع الصنف العامة (Public Class Methods)
التابع all_symbols
يُعيد التابع all_symbols مصفوفة تضم جميع الرمز الموجودة حاليًا في جدول رموز روبي.
التابع <=>
يقارن التابع <=> بين symbol مع other_symbol بعد استدعاء to_s على كلا الرمز. ثم يعيد 1 أو 0 أو +1 أو nil بناءً على ما إذا كان symbol أصغر من أو يساوي أو أكبر من other_symbol.
التابع ==
معامل التساوي - إن كان
التابع ===
معامل التساوي - إن كان
التابع =~
يعيد التابع =~ ناتج التعبير sym.to_s =~ obj.
التابع []
يعيد التابع [] ناتج التعبير sym.to_s[].
التابع capitalize
التابع capitalize مشابه للتعبير sym.to_s.capitalize.intern.
التابع casecmp
التابع casecmp هو نسخة غير حساسة لحالة الأحرف للمعامل Symbol#<=>. في الوقت الحالي، لا تعمل الحساسية لحالة الأحرف إلا على الأحرف من A-Z/a-z، وليس على كل أحرف اليونيكود. هذا مختلف عن التابع #casecmp?.
التابع casecmp?
يُعيد true إن كان الرمز (انظر فقرة البنية العامة) sym و other_symbol متساويين بعد طي حالة اليونيكود (Unicode case folding)، أو يعيد false إذا لم يكونا متساويين.
التابع downcase
التابع downcase مشابه للتعبير sym.to_s.downcase.internX.
التابع empty?
يتحقق التابع empty? مما إذا كان
التابع encoding
يُعيد التابع encoding الترمزي (Encoding) الذي يمثل ترميز الرمز التي استُدعي معها.
التابع id2name
يعيد التابع id2name الاسم أو السلسلة نصية التي تمثل الرمز
التابع inspect
يعيد التابع inspect تمثيل الرمز التي استُدعي معها
التابع intern
بشكل عام، يعيد to_sym الرمز Symbol المقابل لكائن ما. ولما كان الكائن التي استُدعي معها رمزاـ
التابع length
التابع length مشابه للتعبير sym.to_s.lengthX.
التابع match
يعيد التابع match ناتج التعبير sym.to_s.match.
التابع match?
يعيد التابع match? ناتج التعبير sym.to_s.match?.
التابع next
التابع next مشابه للتعبير sym.to_s.succ.internX.
التابع size
التابع size مشابه للتعبير sym.to_s.lengthX.
التابع slice
يعيد ناتج التعبير sym.to_s[].
التابع succ
التابع succ مشابه للتعبير sym.to_s.succ.internX.
التابع swapcase
(انظر فقرة البنية العامة) مشابه للتعبير sym.to_s.swapcase.internX.
التابع to_proc
يعيد التابع to_proc كائن من النوع
التابع to_s
يعيد التابع to_s الاسم أو السلسلة نصية التي تمثل الرمز
التابع to_sym
بشكل عام، يعيد التابع to_sym الرمز Symbol المقابل لكائن. ولم كان
التابع upcase
التابع upcase مشابه للتعبير sym.to_s.upcase.internX.