الفرق بين المراجعتين لصفحة: «Ruby/Symbol»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: صفحة الصنف <code>Symbol</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Symbolتمثل كائنات ال...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: صفحة الصنف <code>Symbol</code> في روبي}}</noinclude> | <noinclude>{{DISPLAYTITLE: صفحة الصنف <code>Symbol</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Symbol]]تمثل كائنات الصنف <code>Symbol</code> أسماء | [[تصنيف: 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> لاسم أو [[Ruby/String|سلسلة نصية]] معينة طوال مدة تنفيذ البرنامج، بغض النظر عن السياق أو معنى هذا الاسم. وبالتالي، إن كان <code>Fred</code> ثابتًا في سياق معيّن، وتابعًا في سياق آخر، وصنفًا في سياق ثالث، فسيكون الرمز <code>Symbol</code> <code>:Fred</code> نفس الكائن في جميع السياقات الثلاث. | |||
<syntaxhighlight lang="ruby">module One | <syntaxhighlight lang="ruby">module One | ||
class Fred | class Fred | ||
سطر 19: | سطر 22: | ||
==توابع الصنف العامة (Public Class Methods)== | ==توابع الصنف العامة (Public Class Methods)== | ||
===[[Ruby/Symbol/all_symbols | التابع all_symbols]]=== | ===[[Ruby/Symbol/all_symbols | التابع all_symbols]]=== | ||
يُعيد التابع <code>all_symbols</code> [[Ruby/Array|مصفوفة]] تضم جميع ال[[Ruby/Symbol| | يُعيد التابع <code>all_symbols</code> [[Ruby/Array|مصفوفة]] تضم جميع ال[[Ruby/Symbol|رموز]] الموجودة حاليًا في جدول رموز روبي. | ||
== توابع النسخ العامة (Public Instance Methods) == | |||
===[[Ruby/Symbol/compar_operator | التابع <=>]]=== | ===[[Ruby/Symbol/compar_operator | التابع <=>]]=== | ||
معامل الموازنة. | |||
===[[Ruby/Symbol/equality_operator | التابع ==]]=== | ===[[Ruby/Symbol/equality_operator | التابع ==]]=== | ||
معامل التساوي | معامل التساوي | ||
===[[Ruby/Symbol/case_equality | التابع ===]]=== | ===[[Ruby/Symbol/case_equality | التابع ===]]=== | ||
معامل | معامل تساوي الحالة. | ||
===[[Ruby/Symbol/3D~ | التابع =~]]=== | ===[[Ruby/Symbol/3D~ | التابع =~]]=== | ||
يعيد التابع <code>=~</code> ناتج التعبير <code>sym.to_s =~ obj</code>. | يعيد التابع <code>=~</code> ناتج التعبير <code>sym.to_s =~ obj</code>. | ||
===[[Ruby/Symbol/index_operator | التابع []]]=== | ===[[Ruby/Symbol/index_operator | التابع []]]=== | ||
يعيد التابع <code>[]</code> ناتج التعبير <code>sym.to_s[]</code>. | يعيد التابع <code>[]</code> ناتج التعبير <code>sym.to_s[]</code>. | ||
===[[Ruby/Symbol/capitalize | التابع capitalize]]=== | ===[[Ruby/Symbol/capitalize | التابع capitalize]]=== | ||
التابع <code>capitalize</code> مشابه للتعبير <code>sym.to_s.capitalize.intern</code>. | التابع <code>capitalize</code> مشابه للتعبير <code>sym.to_s.capitalize.intern</code>. | ||
===[[Ruby/Symbol/casecmp | التابع casecmp]]=== | ===[[Ruby/Symbol/casecmp | التابع casecmp]]=== | ||
التابع <code>casecmp</code> هو نسخة غير حساسة لحالة الأحرف للمعامل <code>Symbol#<=> | التابع <code>casecmp</code> هو نسخة غير حساسة لحالة الأحرف للمعامل <code>Symbol#<=></code>. | ||
===[[Ruby/Symbol/casecmp-3F | التابع casecmp?]]=== | ===[[Ruby/Symbol/casecmp-3F | التابع casecmp?]]=== | ||
يُعيد <code>true</code> إن كان ال[[Ruby/Symbol|رمز]] | يُعيد <code>true</code> إن كان ال[[Ruby/Symbol|رمز]] <code>sym</code> و <code>other_symbol</code> متساويين بعد طي حالة اليونيكود (Unicode case folding)، | ||
===[[Ruby/Symbol/downcase | التابع downcase]]=== | ===[[Ruby/Symbol/downcase | التابع downcase]]=== | ||
التابع <code>downcase</code> مشابه للتعبير <code>sym.to_s.downcase.intern</code> | التابع <code>downcase</code> مشابه للتعبير <code>sym.to_s.downcase.intern</code>. | ||
===[[Ruby/Symbol/empty-3F | التابع empty?]]=== | ===[[Ruby/Symbol/empty-3F | التابع empty?]]=== | ||
يتحقق التابع <code>empty?</code> مما إذا كان | يتحقق التابع <code>empty?</code> مما إذا كان الرمز فارغا. | ||
===[[Ruby/Symbol/encoding | التابع encoding]]=== | ===[[Ruby/Symbol/encoding | التابع encoding]]=== | ||
يُعيد التابع <code>encoding</code> | يُعيد التابع <code>encoding</code> الترميز (<code>[[Ruby/Encoding|Encoding]]</code>) الذي يمثل ال[[Ruby/Symbol|رمز]] التي استُدعي معها. | ||
===[[Ruby/Symbol/id2name | التابع id2name]]=== | ===[[Ruby/Symbol/id2name | التابع id2name]]=== | ||
يعيد التابع <code>id2name</code> الاسم أو ال[[Ruby/String|سلسلة نصية]] التي تمثل ال[[Ruby/Symbol|رمز]] | يعيد التابع <code>id2name</code> الاسم أو ال[[Ruby/String|سلسلة نصية]] التي تمثل ال[[Ruby/Symbol|رمز]] | ||
===[[Ruby/Symbol/inspect | التابع inspect]]=== | ===[[Ruby/Symbol/inspect | التابع inspect]]=== | ||
يعيد التابع <code>inspect</code> تمثيل ال[[Ruby/Symbol|رمز]] التي استُدعي | يعيد التابع <code>inspect</code> تمثيل ال[[Ruby/Symbol|رمز]] التي استُدعي معه. | ||
===[[Ruby/Symbol/intern | التابع intern]]=== | ===[[Ruby/Symbol/intern | التابع intern]]=== | ||
بشكل عام، يعيد <code>[[Ruby/Symbol/to_sym|to_sym]]</code> ال[[Ruby/Symbol|رمز]] <code>Symbol</code> المقابل لكائن ما. | بشكل عام، يعيد <code>[[Ruby/Symbol/to_sym|to_sym]]</code> ال[[Ruby/Symbol|رمز]] <code>Symbol</code> المقابل لكائن ما. | ||
===[[Ruby/Symbol/length | التابع length]]=== | ===[[Ruby/Symbol/length | التابع length]]=== | ||
التابع <code>length</code> مشابه للتعبير <code>sym.to_s.length</code> | التابع <code>length</code> مشابه للتعبير <code>sym.to_s.length</code>. | ||
===[[Ruby/Symbol/match | التابع match]]=== | ===[[Ruby/Symbol/match | التابع match]]=== | ||
يعيد التابع <code>match</code> ناتج التعبير <code>sym.to_s.match</code>. | يعيد التابع <code>match</code> ناتج التعبير <code>sym.to_s.match</code>. | ||
===[[Ruby/Symbol/match-3F | التابع match?]]=== | ===[[Ruby/Symbol/match-3F | التابع match?]]=== | ||
يعيد التابع <code>match?</code> ناتج التعبير <code>sym.to_s.match?</code>. | يعيد التابع <code>match?</code> ناتج التعبير <code>sym.to_s.match?</code>. | ||
===[[Ruby/Symbol/next | التابع next]]=== | ===[[Ruby/Symbol/next | التابع next]]=== | ||
التابع <code>next</code> مشابه للتعبير <code>sym.to_s.succ.intern</code> | التابع <code>next</code> مشابه للتعبير <code>sym.to_s.succ.intern</code>. | ||
===[[Ruby/Symbol/size | التابع size]]=== | ===[[Ruby/Symbol/size | التابع size]]=== | ||
التابع <code>size</code> مشابه للتعبير <code>sym.to_s.length</code> | التابع <code>size</code> مشابه للتعبير <code>sym.to_s.length</code>. | ||
===[[Ruby/Symbol/slice | التابع slice]]=== | ===[[Ruby/Symbol/slice | التابع slice]]=== | ||
يعيد ناتج التعبير <code>sym.to_s[]</code>. | يعيد ناتج التعبير <code>sym.to_s[]</code>. | ||
===[[Ruby/Symbol/succ | التابع succ]]=== | ===[[Ruby/Symbol/succ | التابع succ]]=== | ||
التابع <code>succ</code> مشابه للتعبير <code>sym.to_s.succ.intern</code> | التابع <code>succ</code> مشابه للتعبير <code>sym.to_s.succ.intern</code>. | ||
===[[Ruby/Symbol/swapcase | التابع swapcase]]=== | ===[[Ruby/Symbol/swapcase | التابع swapcase]]=== | ||
مشابه للتعبير <code>sym.to_s.swapcase.intern</code>. | |||
===[[Ruby/Symbol/to_proc | التابع to_proc]]=== | ===[[Ruby/Symbol/to_proc | التابع to_proc]]=== | ||
يعيد التابع <code>to_proc</code> | يعيد التابع <code>to_proc</code> كائنًا من النوع <code>Proc.</code> | ||
===[[Ruby/Symbol/to_s | التابع to_s]]=== | ===[[Ruby/Symbol/to_s | التابع to_s]]=== | ||
يعيد التابع <code>to_s</code> الاسم أو ال[[Ruby/String|سلسلة نصية]] التي تمثل ال[[Ruby/Symbol|رمز]] | يعيد التابع <code>to_s</code> الاسم أو ال[[Ruby/String|سلسلة نصية]] التي تمثل ال[[Ruby/Symbol|رمز]] | ||
===[[Ruby/Symbol/to_sym | التابع to_sym]]=== | ===[[Ruby/Symbol/to_sym | التابع to_sym]]=== | ||
بشكل عام، يعيد التابع <code>to_sym</code> ال[[Ruby/Symbol|رمز]] <code>Symbol</code> المقابل لكائن. | بشكل عام، يعيد التابع <code>to_sym</code> ال[[Ruby/Symbol|رمز]] <code>Symbol</code> المقابل لكائن. | ||
===[[Ruby/Symbol/upcase | التابع upcase]]=== | ===[[Ruby/Symbol/upcase | التابع upcase]]=== | ||
التابع <code>upcase</code> مشابه للتعبير <code>sym.to_s.upcase.intern</code> | التابع <code>upcase</code> مشابه للتعبير <code>sym.to_s.upcase.intern</code> . | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Symbol.html قسم الصنف Symbol في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Symbol.html قسم الصنف Symbol في توثيق روبي الرسمي.] |
مراجعة 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
.