الفرق بين المراجعتين لصفحة: «Ruby/String/tr»

من موسوعة حسوب
< Ruby‏ | String
إنشاء الصفحة. هذه الصفحة من مساهمات "كريم حبال".
 
 
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby String]]
[[تصنيف: Ruby String]]
يعيد التابع <code>tr</code> ب
يعيد التابع <code>tr</code> نسخة عن السلسلة النصية المُعطاة مع استبدال مجموعة محارف محدَّدة فيها بالمحارف المقابلة المعطاة.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">tr(from_str, to_str) => new_str</syntaxhighlight>
<syntaxhighlight lang="ruby">tr(from_str, to_str) => new_str</syntaxhighlight>يعيد التابع <code>tr</code> نسخة عن السلسلة النصية المُعطاة مع استبدال مجموعة حروف السلسلة  <code>from_str</code> بالحروف المقابلة لها فى السلسلة <code>to_str</code>. إذا كانت السلسلة <code>to_str</code> أقصر من السلسلة <code>from_str</code>، فسيكرر الحرف الأخير فيها حتى تصبحان متساويتين من أجل الحفاظ على التنسيق.


==القيمة المعادة==
يمكن أن تحتوي كلا السلسلتين <code>from_str</code> و <code>to_str</code> على الصيغة <code>c1-c2</code>، والتي تُستعمَل للإشارة إلى مجال محدد من الحروف.
يعاد
 
يشير الرمز <code>^</code> فى بداية السلسلة <code>from_str</code> إلى جميع اشتمال جميع المحارف باستثناء تلك المحددة.
 
يُستعمل الخط المائل العكسي <code>\</code> لتهريب الرمزين <code>^</code> و <code>-</code>، ولا يتم حسابه إلا إذا وقع في نهاية مجال، أو فى نهاية كل من السلسلتين <code>from_str</code> و <code>to_str</code>.
 
== المعاملات ==
 
=== <code>from_str</code> ===
سلسلة نصية تحدد مجموعة المحارف الموجودة في نسخة السلسلة المُعطاة والمُراد استبدالها بالمحارف <code>to_str</code> المقابلة.
 
=== <code>to_str</code> ===
سلسلة نصية تحوي المحارف المقابلة التي ستحل مكان المحارف <code>from_str</code> في نسخة السلسلة المُعطاة.
 
== القيمة المعادة ==
تُعاد نسخة عن السلسلة النصية المُعطاة مع استبدال مجموعة محارف السلسلة <code>from_str</code> بالمحارف المقابلة لها في السلسلة <code>to_str</code>.


==أمثلة==
==أمثلة==
مثال على استعمال التابع <code>tr</code>:
أمثلة على استعمال التابع <code>tr</code>:
<syntaxhighlight lang="ruby">"hello".tr('el', 'ip')      #=> "hippo"
<syntaxhighlight lang="ruby">"hello".tr('el', 'ip')      #=> "hippo"
"hello".tr('aeiou', '*')    #=> "h*ll*"
"hello".tr('aeiou', '*')    #=> "h*ll*"
"hello".tr('aeiou', 'AA*')  #=> "hAll*"</syntaxhighlight>
"hello".tr('aeiou', 'AA*')  #=> "hAll*"
 
"hello".tr('a-y', 'b-z')    #=> "ifmmp"
"hello".tr('^aeiou', '*')  #=> "*e**o"
 
"hello^world".tr("\\^aeiou", "*") #=> "h*ll**w*rld"
"hello-world".tr("a\\-eo", "*")  #=> "h*ll**w*rld"
 
"hello\r\nworld".tr("\r", "")  #=> "hello\nworld"
"hello\r\nworld".tr("\\r", "")  #=> "hello\r\nwold"
"hello\r\nworld".tr("\\\r", "") #=> "hello\nworld"
 
"X['\\b']".tr("X\\", "")  #=> "['b']"
"X['\\b']".tr("X-\\]", "") #=> "'b'"</syntaxhighlight>
 
==انظر أيضًا==
* التابع <code>[[Ruby/String/replace|replace]]</code>: يستبدل محتوى السلسلة النصية التي استدعي معها بمحتوى السلسلة المُمرَّرة إليه.


==انظر أيضا==
* التابع <code>[[Ruby/String/tr-21|tr!‎]]</code>: يستبدل مجموعة محارف محدَّدة في السلسلة النصية المُعطاة بمحارف مقابلة لها.
* التابع <code>[[Ruby/String/tr s|tr_s]]</code>: يشبه التابع <code>tr</code> باستثناء أنه يحذف المحارف المُكرَّرة الواقعة ضمن المجال المراد استبداله.


==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/String.html#method-i-tr قسم التابع tr‎ في الصنف String في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/String.html#method-i-tr قسم التابع tr‎ في الصنف String في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 19:29، 27 مارس 2019

يعيد التابع tr نسخة عن السلسلة النصية المُعطاة مع استبدال مجموعة محارف محدَّدة فيها بالمحارف المقابلة المعطاة.

البنية العامة

tr(from_str, to_str) => new_str

يعيد التابع tr نسخة عن السلسلة النصية المُعطاة مع استبدال مجموعة حروف السلسلة  from_str بالحروف المقابلة لها فى السلسلة to_str. إذا كانت السلسلة to_str أقصر من السلسلة from_str، فسيكرر الحرف الأخير فيها حتى تصبحان متساويتين من أجل الحفاظ على التنسيق.

يمكن أن تحتوي كلا السلسلتين from_str و to_str على الصيغة c1-c2، والتي تُستعمَل للإشارة إلى مجال محدد من الحروف.

يشير الرمز ^ فى بداية السلسلة from_str إلى جميع اشتمال جميع المحارف باستثناء تلك المحددة.

يُستعمل الخط المائل العكسي \ لتهريب الرمزين ^ و -، ولا يتم حسابه إلا إذا وقع في نهاية مجال، أو فى نهاية كل من السلسلتين from_str و to_str.

المعاملات

from_str

سلسلة نصية تحدد مجموعة المحارف الموجودة في نسخة السلسلة المُعطاة والمُراد استبدالها بالمحارف to_str المقابلة.

to_str

سلسلة نصية تحوي المحارف المقابلة التي ستحل مكان المحارف from_str في نسخة السلسلة المُعطاة.

القيمة المعادة

تُعاد نسخة عن السلسلة النصية المُعطاة مع استبدال مجموعة محارف السلسلة from_str بالمحارف المقابلة لها في السلسلة to_str.

أمثلة

أمثلة على استعمال التابع tr:

"hello".tr('el', 'ip')      #=> "hippo"
"hello".tr('aeiou', '*')    #=> "h*ll*"
"hello".tr('aeiou', 'AA*')  #=> "hAll*"

"hello".tr('a-y', 'b-z')    #=> "ifmmp"
"hello".tr('^aeiou', '*')   #=> "*e**o"

"hello^world".tr("\\^aeiou", "*") #=> "h*ll**w*rld"
"hello-world".tr("a\\-eo", "*")   #=> "h*ll**w*rld"

"hello\r\nworld".tr("\r", "")   #=> "hello\nworld"
"hello\r\nworld".tr("\\r", "")  #=> "hello\r\nwold"
"hello\r\nworld".tr("\\\r", "") #=> "hello\nworld"

"X['\\b']".tr("X\\", "")   #=> "['b']"
"X['\\b']".tr("X-\\]", "") #=> "'b'"

انظر أيضًا

  • التابع replace: يستبدل محتوى السلسلة النصية التي استدعي معها بمحتوى السلسلة المُمرَّرة إليه.
  • التابع tr!‎: يستبدل مجموعة محارف محدَّدة في السلسلة النصية المُعطاة بمحارف مقابلة لها.
  • التابع tr_s: يشبه التابع tr باستثناء أنه يحذف المحارف المُكرَّرة الواقعة ضمن المجال المراد استبداله.

مصادر