صفحة الصنف 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.intern
X.
التابع empty?
يتحقق التابع empty?
مما إذا كان
التابع encoding
يُعيد التابع encoding
الترمزي (Encoding
) الذي يمثل ترميز الرمز التي استُدعي معها.
التابع id2name
يعيد التابع id2name
الاسم أو السلسلة نصية التي تمثل الرمز
التابع inspect
يعيد التابع inspect
تمثيل الرمز التي استُدعي معها
التابع intern
بشكل عام، يعيد to_sym
الرمز Symbol
المقابل لكائن ما. ولما كان الكائن التي استُدعي معها رمزاـ
التابع length
التابع length
مشابه للتعبير sym.to_s.length
X.
التابع match
يعيد التابع match
ناتج التعبير sym.to_s.match
.
التابع match?
يعيد التابع match?
ناتج التعبير sym.to_s.match?
.
التابع next
التابع next
مشابه للتعبير sym.to_s.succ.intern
X.
التابع size
التابع size
مشابه للتعبير sym.to_s.length
X.
التابع slice
يعيد ناتج التعبير sym.to_s[]
.
التابع succ
التابع succ
مشابه للتعبير sym.to_s.succ.intern
X.
التابع swapcase
(انظر فقرة البنية العامة) مشابه للتعبير sym.to_s.swapcase.intern
X.
التابع to_proc
يعيد التابع to_proc
كائن من النوع
التابع to_s
يعيد التابع to_s
الاسم أو السلسلة نصية التي تمثل الرمز
التابع to_sym
بشكل عام، يعيد التابع to_sym
الرمز Symbol
المقابل لكائن. ولم كان
التابع upcase
التابع upcase
مشابه للتعبير sym.to_s.upcase.intern
X.