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

من موسوعة حسوب
مراجعة 17:35، 4 نوفمبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: صفحة الصنف <code>Symbol</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby 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.

مصادر