الفرق بين المراجعتين لصفحة: «Ruby/Symbol»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 2: | سطر 2: | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Symbol]] | [[تصنيف: Ruby Symbol]] | ||
تمثل كائنات الصنف <code>Symbol</code> أسماء و<nowiki/>[[Ruby/String|سلاسل نصية]] داخل مترجم (interpreter) روبي. يمكن إنشاؤها باستخدام الصياغتين الحرفيتين <code>:name</code> و <code>:"string"</code>، أو بواسطة التوابع <code>[[Ruby/Symbol/to_sym|to_sym]]</code>. | تمثل كائنات الصنف <code>Symbol</code> أسماء و<nowiki/>[[Ruby/String|سلاسل نصية]] داخل مترجم (interpreter) روبي. يمكن إنشاؤها باستخدام الصياغتين الحرفيتين <code>:name</code> و <code>:"string"</code>، أو بواسطة التوابع <code>[[Ruby/Symbol/to_sym|to_sym]]</code>. | ||
سيتم إنشاء نفس الرمز (كائن <code>Symbol)</code> لاسم أو [[Ruby/String|سلسلة نصية]] معينة طوال مدة تنفيذ البرنامج، بغض النظر عن السياق أو معنى هذا الاسم. وبالتالي، إن كان <code>Fred</code> ثابتًا في سياق معيّن، وتابعًا في سياق آخر، وصنفًا في سياق ثالث، فسيكون الرمز <code>Symbol</code> <code>:Fred</code> نفس الكائن في جميع السياقات الثلاث. | سيتم إنشاء نفس الرمز (كائن <code>Symbol)</code> لاسم أو [[Ruby/String|سلسلة نصية]] معينة طوال مدة تنفيذ البرنامج، بغض النظر عن السياق أو معنى هذا الاسم. وبالتالي، إن كان <code>Fred</code> ثابتًا في سياق معيّن، وتابعًا في سياق آخر، وصنفًا في سياق ثالث، فسيكون الرمز <code>Symbol</code> <code>:Fred</code> نفس الكائن في جميع السياقات الثلاث. |
مراجعة 17:40، 4 نوفمبر 2018
تمثل كائنات الصنف 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
مصفوفة تضم جميع الرموز الموجودة حاليًا في جدول رموز روبي.
توابع النسخ العامة (Public Instance Methods)
التابع <=>
معامل الموازنة.
التابع ==
معامل التساوي
التابع ===
معامل تساوي الحالة.
التابع =~
يعيد التابع =~
ناتج التعبير sym.to_s =~ obj
.
التابع []
يعيد التابع []
ناتج التعبير sym.to_s[]
.
التابع capitalize
التابع capitalize
مشابه للتعبير sym.to_s.capitalize.intern
.
التابع casecmp
التابع casecmp
هو نسخة غير حساسة لحالة الأحرف للمعامل Symbol#<=>
.
التابع casecmp?
يُعيد true
إن كان الرمز sym
و other_symbol
متساويين بعد طي حالة اليونيكود (Unicode case folding)،
التابع downcase
التابع downcase
مشابه للتعبير sym.to_s.downcase.intern
.
التابع empty?
يتحقق التابع empty?
مما إذا كان الرمز فارغا.
التابع encoding
يُعيد التابع encoding
الترميز (Encoding
) الذي يمثل الرمز التي استُدعي معها.
التابع id2name
يعيد التابع id2name
الاسم أو السلسلة نصية التي تمثل الرمز
التابع inspect
يعيد التابع inspect
تمثيل الرمز التي استُدعي معه.
التابع intern
بشكل عام، يعيد to_sym
الرمز Symbol
المقابل لكائن ما.
التابع length
التابع length
مشابه للتعبير sym.to_s.length
.
التابع match
يعيد التابع match
ناتج التعبير sym.to_s.match
.
التابع match?
يعيد التابع match?
ناتج التعبير sym.to_s.match?
.
التابع next
التابع next
مشابه للتعبير sym.to_s.succ.intern
.
التابع size
التابع size
مشابه للتعبير sym.to_s.length
.
التابع slice
يعيد ناتج التعبير sym.to_s[]
.
التابع succ
التابع succ
مشابه للتعبير sym.to_s.succ.intern
.
التابع swapcase
مشابه للتعبير sym.to_s.swapcase.intern
.
التابع to_proc
يعيد التابع to_proc
كائنًا من النوع Proc.
التابع to_s
يعيد التابع to_s
الاسم أو السلسلة نصية التي تمثل الرمز
التابع to_sym
بشكل عام، يعيد التابع to_sym
الرمز Symbol
المقابل لكائن.
التابع upcase
التابع upcase
مشابه للتعبير sym.to_s.upcase.intern
.