الفرق بين المراجعتين لصفحة: «Ruby/String/25»
جميل-بيلوني (نقاش | مساهمات) إنشاء الصفحة. هذه الصفحة من مساهمات "كريم حبال". |
جميل-بيلوني (نقاش | مساهمات) إضافة المحتوى |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Operator]] | [[تصنيف: Ruby Operator]] | ||
[[تصنيف: Ruby String]] | [[تصنيف: Ruby String]] | ||
يطبِّق المعامل <code>%</code> السلسلة النصية الواقعة على يساره التي تعد سلسلة تنسيق معيارية على الكائن المعطى الواقع على يمينه ثم يعيد الناتج. إن حوت سلسلة التنسيق أكثر من من عنصر نائب، فيجب أنذاك أن يكون الكائن الذي ستطبق عليه [[Ruby/Array|مصفوفةً]] أو كائنًا من النوع <code>[[Ruby/Hash|Hash]]</code> يحوي القيم التي ستأخذ مكان العناصر النائبة المقابلة. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">str % arg → new_str</syntaxhighlight> | <syntaxhighlight lang="ruby">str % arg → new_str</syntaxhighlight> | ||
== المعاملات == | |||
=== <code>str</code> === | |||
سلسلة التنسيق التي ستُطبَّق على محتوى المعامل <code>arg</code>. لمزيد من التفاصيل حول صياغة سلسلة التنسيق، اطلع على صفحة التابع <code>[[Ruby/Kernel/sprintf#format string.E2.80.8E|Kernel::sprintf]]</code>. | |||
=== <code>arg</code> === | |||
الكائن المراد تنسيقه وفقًا لسلسلة التنسيق <code>str</code>. | |||
==القيمة المعادة== | ==القيمة المعادة== | ||
تعاد [[Ruby/String|سلسلة نصية]] ناتجة عن تنسيق المعامل <code>arg</code> وفقًا لسلسلة التنسيق <code>str</code> المعطاة. | |||
==أمثلة== | ==أمثلة== | ||
سطر 15: | سطر 23: | ||
"%-5s: %08x" % [ "ID", self.object_id ] #=> "ID : 200e14d6" | "%-5s: %08x" % [ "ID", self.object_id ] #=> "ID : 200e14d6" | ||
"foo = %{foo}" % { :foo => 'bar' } #=> "foo = bar"</syntaxhighlight> | "foo = %{foo}" % { :foo => 'bar' } #=> "foo = bar"</syntaxhighlight> | ||
==انظر | ==انظر أيضًا== | ||
* المعامل <code>[[Ruby/String/2A|*]]</code>: ينسخ سلسلة نصية عددًا محدَّدًا من المرات ثم يضعها في سلسلة نصية جديدة. | |||
* المعامل <code>[[Ruby/String/2B|+]]</code>: يجمع سلسلتين نصيتين مع بعضهما بعضًا ثم يعيد الناتج في سلسلة نصية جديدة. | |||
* المعامل <code>[[Ruby/String/3C-3C|>>]]</code>: يُلحق الكائن المُعطى بالسلسلة النصية. | |||
* التابع <code>[[Ruby/Kernel/sprintf#format string.E2.80.8E|sprintf]]</code>: يعيد السلسلة النصية المُمرَّرة إليه بعد تنسيقها بنمط معيَّن. | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/String.html#method-i-25 قسم المعامل % في الصنف String في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/String.html#method-i-25 قسم المعامل % في الصنف String في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 18:41، 30 يناير 2019
يطبِّق المعامل %
السلسلة النصية الواقعة على يساره التي تعد سلسلة تنسيق معيارية على الكائن المعطى الواقع على يمينه ثم يعيد الناتج. إن حوت سلسلة التنسيق أكثر من من عنصر نائب، فيجب أنذاك أن يكون الكائن الذي ستطبق عليه مصفوفةً أو كائنًا من النوع Hash
يحوي القيم التي ستأخذ مكان العناصر النائبة المقابلة.
البنية العامة
str % arg → new_str
المعاملات
str
سلسلة التنسيق التي ستُطبَّق على محتوى المعامل arg
. لمزيد من التفاصيل حول صياغة سلسلة التنسيق، اطلع على صفحة التابع Kernel::sprintf
.
arg
الكائن المراد تنسيقه وفقًا لسلسلة التنسيق str
.
القيمة المعادة
تعاد سلسلة نصية ناتجة عن تنسيق المعامل arg
وفقًا لسلسلة التنسيق str
المعطاة.
أمثلة
مثال على استخدام المعامل %
:
"%05d" % 123 #=> "00123"
"%-5s: %08x" % [ "ID", self.object_id ] #=> "ID : 200e14d6"
"foo = %{foo}" % { :foo => 'bar' } #=> "foo = bar"
انظر أيضًا
- المعامل
*
: ينسخ سلسلة نصية عددًا محدَّدًا من المرات ثم يضعها في سلسلة نصية جديدة. - المعامل
+
: يجمع سلسلتين نصيتين مع بعضهما بعضًا ثم يعيد الناتج في سلسلة نصية جديدة. - المعامل
>>
: يُلحق الكائن المُعطى بالسلسلة النصية. - التابع
sprintf
: يعيد السلسلة النصية المُمرَّرة إليه بعد تنسيقها بنمط معيَّن.