الفرق بين المراجعتين ل"Ruby/String/25"

من موسوعة حسوب
< Ruby‏ | String
اذهب إلى التنقل اذهب إلى البحث
(إنشاء الصفحة. هذه الصفحة من مساهمات "كريم حبال".)
 
(إضافة المحتوى)
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Operator]]
 
[[تصنيف: Ruby Operator]]
 
[[تصنيف: Ruby String]]
 
[[تصنيف: Ruby String]]
يعيد المعامل <code>%</code> ب
+
يطبِّق المعامل <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: يعيد السلسلة النصية المُمرَّرة إليه بعد تنسيقها بنمط معيَّن.

مصادر