الفرق بين المراجعتين لصفحة: «Ruby/String»
جميل-بيلوني (نقاش | مساهمات) لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) لا ملخص تعديل |
||
(4 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 48: | سطر 48: | ||
===<code>[[Ruby/String/new|new]]</code>=== | ===<code>[[Ruby/String/new|new]]</code>=== | ||
ينشئ سلسلةً نصيةً جديدةً تحوي البيانات المُمرَّرة إليه. | |||
===<code>[[Ruby/String/try_convert|try_convert]]</code>=== | ===<code>[[Ruby/String/try_convert|try_convert]]</code>=== | ||
يحاول تحويل الكائن الذي مُرِّر إليه إلى سلسلة نصية. | |||
== توابع النسخة العامة == | == توابع النسخة العامة == | ||
===<code>[[Ruby/String/25|%]]</code>=== | ===<code>[[Ruby/String/25|%]]</code>=== | ||
يطبِّق السلسلة النصية الواقعة على يساره التي تعد سلسلة تنسيق معيارية على الكائن المعطى الواقع على يمينه ثم يعيد الناتج. | |||
===<code>[[Ruby/String/2A|*]]</code>=== | ===<code>[[Ruby/String/2A|*]]</code>=== | ||
ينسخ سلسلة نصية عددًا محدَّدًا من المرات ثم يضعها في سلسلة نصية جديدة. | ينسخ سلسلة نصية عددًا محدَّدًا من المرات ثم يضعها في سلسلة نصية جديدة. | ||
سطر 78: | سطر 83: | ||
===<code>[[Ruby/String/3D~|=~]]</code>=== | ===<code>[[Ruby/String/3D~|=~]]</code>=== | ||
يطابق التعبير النمطي المُعطى مع سلسلة نصية. | |||
===<code>[[Ruby/String/5B-5D|[]]]</code>=== | ===<code>[[Ruby/String/5B-5D|[]]]</code>=== | ||
يجلب محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه. | يجلب محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه. | ||
===<code>[[Ruby/String/5B-5D-3D|[]=]]</code>=== | ===<code>[[Ruby/String/5B-5D-3D|[]=]]</code>=== | ||
يبدِّل عند استدعائه بالشكل <code>[]=</code> سلسلةً نصيةً محدَّدةً مكان جزءٍ محدَّد أو كامل محتوى سلسلة نصية أخرى. | |||
===<code>[[Ruby/String/ascii_only-3F|ascii_only?]]</code>=== | ===<code>[[Ruby/String/ascii_only-3F|ascii_only?]]</code>=== | ||
يتحقق إذا كانت السلسلة النصية مؤلفة من محارف مرمزة بالترميز [[Arduino/asciichart|ASCII]] فقط. | يتحقق إذا كانت السلسلة النصية مؤلفة من محارف مرمزة بالترميز [[Arduino/asciichart|ASCII]] فقط. | ||
===<code>[[Ruby/String/b|b]]</code>=== | ===<code>[[Ruby/String/b|b]]</code>=== | ||
يعيد نسخة من السلسلة النصية التي استدعيت معه مرمزة بالترميز ASCII-8BIT. | |||
===<code>[[Ruby/String/bytes|bytes]]</code>=== | ===<code>[[Ruby/String/bytes|bytes]]</code>=== | ||
يُعيد البايتات المقابلة لمحارف السلسلة النصية في مصفوفة. | يُعيد البايتات المقابلة لمحارف السلسلة النصية في مصفوفة. | ||
سطر 93: | سطر 104: | ||
===<code>[[Ruby/String/byteslice|byteslice]]</code>=== | ===<code>[[Ruby/String/byteslice|byteslice]]</code>=== | ||
يجلب محرفًا ذا فهرس | يجلب محرفًا ذا فهرس محدَّد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه. | ||
===<code>[[Ruby/String/capitalize|capitalize]]</code>=== | ===<code>[[Ruby/String/capitalize|capitalize]]</code>=== | ||
يعيد نسخة عن السلسلة النصية المعطاة مع تحويل الحرف الأول فيها إلى حرف كبير، وباقي الأحرف إلى أحرف صغيرة. | |||
===<code>[[Ruby/String/capitalize-21|capitalize!]]</code>=== | ===<code>[[Ruby/String/capitalize-21|capitalize!]]</code>=== | ||
يُعدل السلسلة النصية بتحويل الحرف الأول إلى حرف كبير، وباقي الأحرف إلى أحرف صغيرة، أو يعيد القيمة <code>nil</code> في حال عدم إجراء أي تعديل. | |||
===<code>[[Ruby/String/casecmp|casecmp]]</code>=== | ===<code>[[Ruby/String/casecmp|casecmp]]</code>=== | ||
يقارن بين سلسلتين نصيتين دون أخذ حالة الأحرف بالحسبان. | |||
===<code>[[Ruby/String/casecmp-3F|casecmp?]]</code>=== | ===<code>[[Ruby/String/casecmp-3F|casecmp?]]</code>=== | ||
يتحقق إذا كانت السلسلة النصية التي استدعيت معه متساوية مع السلسلة المُمرَّرة إليه دون أخذ حالة المحارف بالحسبان. | |||
===<code>[[Ruby/String/center|center]]</code>=== | ===<code>[[Ruby/String/center|center]]</code>=== | ||
يعيد سلسلة نصية جديدة بطول محدَّد مع وضع السلسلة النصية المعطاة في وسطها وحشو طرفيها بمحارف معيَّنة. | |||
===<code>[[Ruby/String/chars|chars]]</code>=== | ===<code>[[Ruby/String/chars|chars]]</code>=== | ||
يُعيد محارف السلسلة النصية على شكل مصفوفة. | |||
===<code>[[Ruby/String/chomp|chomp]]</code>=== | ===<code>[[Ruby/String/chomp|chomp]]</code>=== | ||
يعيد نسخة عن السلسلة النصية مع حذف الفاصل السطري المُحدد من نهايتها (إن كان موجودًا). | |||
===<code>[[Ruby/String/chomp-21|chomp!]]</code>=== | ===<code>[[Ruby/String/chomp-21|chomp!]]</code>=== | ||
يحذف الفاصل السطري المُحدد من نهاية السلسلة النصية المعطاة، أو يعيد القيمة <code>nil</code> إن لم يجري أي تعديل عليها. | |||
===<code>[[Ruby/String/chop|chop]]</code>=== | ===<code>[[Ruby/String/chop|chop]]</code>=== | ||
يعيد نسخةً عن السلسلة النصية مع حذف المحرف الأخير منها. | |||
===<code>[[Ruby/String/chop-21|chop!]]</code>=== | ===<code>[[Ruby/String/chop-21|chop!]]</code>=== | ||
يحذف المحرف الأخير من السلسلة النصية المعطاة. | |||
===<code>[[Ruby/String/chr|chr]]</code>=== | ===<code>[[Ruby/String/chr|chr]]</code>=== | ||
يعيد المحرف الأول من السلسلة النصية المُعطاة. | |||
===<code>[[Ruby/String/clear|clear]]</code>=== | ===<code>[[Ruby/String/clear|clear]]</code>=== | ||
يمسح جميع محتوى السلسلة النصية المعطاة ويجعلها فارغة. | |||
===<code>[[Ruby/String/codepoints|codepoints]]</code>=== | ===<code>[[Ruby/String/codepoints|codepoints]]</code>=== | ||
يُعيد نقاط الترميز المقابلة لمحارف السلسلة النصية في مصفوفة. | |||
===<code>[[Ruby/String/concat|concat]]</code>=== | ===<code>[[Ruby/String/concat|concat]]</code>=== | ||
يضيف كائنات محدَّدة إلى السلسلة النصية التي استدعيت معه. | |||
===<code>[[Ruby/String/count|count]]</code>=== | ===<code>[[Ruby/String/count|count]]</code>=== | ||
يحسب عدد الحروف المتواجدة ضمن السلسلة النصية المُعطاة. | |||
===<code>[[Ruby/String/crypt|crypt]]</code>=== | ===<code>[[Ruby/String/crypt|crypt]]</code>=== | ||
يشفِّر بناءً على القيمة Hash السلسلة النصية التي استدعي معها بطريقة غير قابلة للعكس (one-way cryptographic hash) عبر استدعاء دالة المكتبة القياسية <code>crypt(3)</code> مع السلسلة النصية الإضافية المُمرَّرة إليه. | |||
===<code>[[Ruby/String/delete|delete]]</code>=== | ===<code>[[Ruby/String/delete|delete]]</code>=== | ||
يعيد نسخة عن السلسلة النصية المُعطاة محذوفًا منها محارف السلسلة النصية المُمرَّرة إليه. | |||
===<code>[[Ruby/String/delete-21|delete!]]</code>=== | ===<code>[[Ruby/String/delete-21|delete!]]</code>=== | ||
يحذف محارف السلسلة النصية المُمرَّرة إليه من السلسلة النصية التي استدعي معها. | |||
===<code>[[Ruby/String/delete_prefix|delete_prefix]]</code>=== | ===<code>[[Ruby/String/delete_prefix|delete_prefix]]</code>=== | ||
يعيد نسخة عن السلسلة النصية التي استدعي معها محذوفًا منها سابقة مُحددة. | |||
===<code>[[Ruby/String/delete_prefix-21|delete_prefix!]]</code>=== | ===<code>[[Ruby/String/delete_prefix-21|delete_prefix!]]</code>=== | ||
يحذف سابقة محددة من السلسلة النصية المعطاة. | |||
===<code>[[Ruby/String/delete_suffix|delete_suffix]]</code>=== | ===<code>[[Ruby/String/delete_suffix|delete_suffix]]</code>=== | ||
يعيد نسخةً عن السلسلة النصية محذوفًا منها لاحقة مُحددة. | |||
===<code>[[Ruby/String/delete_suffix-21|delete_suffix!]]</code>=== | ===<code>[[Ruby/String/delete_suffix-21|delete_suffix!]]</code>=== | ||
يحذف لاحقة محددة من السلسلة النصية التي استدعي معها. | |||
===<code>[[Ruby/String/downcase|downcase]]</code>=== | ===<code>[[Ruby/String/downcase|downcase]]</code>=== | ||
يعيد نسخةً من السلسلة النصية التي استدعي معها مع استبدال الحروف الكبيرة بنظائرها الصغيرة. | |||
===<code>[[Ruby/String/downcase-21|downcase!]]</code>=== | ===<code>[[Ruby/String/downcase-21|downcase!]]</code>=== | ||
يعدل على السلسلة النصية المعطاة وذلك باستبدال الحروف الكبيرة فيها بنظائرها الصغيرة. | |||
===<code>[[Ruby/String/dump|dump]]</code>=== | ===<code>[[Ruby/String/dump|dump]]</code>=== | ||
يُعيد نسخة عن السلسلة النصية مع استبدال المحارف الغير مطبوعة بالرمز <code>nnn\</code> وتهريب المحارف الخاصة. | |||
===<code>[[Ruby/String/each_byte|each_byte]]</code>=== | ===<code>[[Ruby/String/each_byte|each_byte]]</code>=== | ||
يُمرر كل بايت من بايتات السلسلة النصية التي استدعي معها إلى الكتلة المُعطاة. | |||
===<code>[[Ruby/String/each_char|each_char]]</code>=== | ===<code>[[Ruby/String/each_char|each_char]]</code>=== | ||
يُمرر كل محرف من محارف السلسلة النصية التي استدعي معها إلى الكتلة المُعطاة. | |||
===<code>[[Ruby/String/each_codepoint|each_codepoint]]</code>=== | ===<code>[[Ruby/String/each_codepoint|each_codepoint]]</code>=== | ||
يُمرر كل عدد من الأعداد الترتيبية (Integers ordinal) المقابلة لكل محرف من محارف السلسلة النصية المعطاة إلى الكتلة المرتبطة به ثم يعيد الناتج الذي تعيده هذه الكتلة. | |||
===<code>[[Ruby/String/each_grapheme_cluster|each_grapheme_cluster]]</code>=== | ===<code>[[Ruby/String/each_grapheme_cluster|each_grapheme_cluster]]</code>=== | ||
يمرِّر كل وحدة كتابية (grapheme) إلى الكتلة المعطاة ثم يعيد سلسلة نصية بالناتج الذي تعيده. | |||
===<code>[[Ruby/String/each_line|each_line]]</code>=== | ===<code>[[Ruby/String/each_line|each_line]]</code>=== | ||
يقتطع السلسلة النصية التي استدعيت معه إلى أجزاء (كل جزء يمثِّل سطرًا افتراضيًّا) مفصولة بفاصل محدَّد ثم يمرِّر كل منها على حدة إلى الكتلة المعطاة. | |||
===<code>[[Ruby/String/empty-3F|empty?]]</code>=== | ===<code>[[Ruby/String/empty-3F|empty?]]</code>=== | ||
يتحقق إذا كانت سلسلة نصية فارغةً تمامًا أم لا. | |||
===<code>[[Ruby/String/encode|encode]]</code>=== | ===<code>[[Ruby/String/encode|encode]]</code>=== | ||
يحول سلسلة نصية مرمزة بترميز محدَّد إلى ترميز آخر ثم يعيد نسخة عنها. | |||
===<code>[[Ruby/String/encode-21|encode!]]</code>=== | ===<code>[[Ruby/String/encode-21|encode!]]</code>=== | ||
يحول سلسلة نصية مرمزة بترميز محدَّد إلى ترميز آخر ثم يعيدها. | |||
===<code>[[Ruby/String/encoding|encoding]]</code>=== | ===<code>[[Ruby/String/encoding|encoding]]</code>=== | ||
يُعيد ترميز السلسلة النصية التي استُدعيت معه. | |||
===<code>[[Ruby/String/end_with-3F|end_with?]]</code>=== | ===<code>[[Ruby/String/end_with-3F|end_with?]]</code>=== | ||
يتحقق إذا كانت السلسلة النصية منتهية بإحدى اللواحق المُحددة. | |||
===<code>[[Ruby/String/eql-3F|eql?]]</code>=== | ===<code>[[Ruby/String/eql-3F|eql?]]</code>=== | ||
يتحقق من تساوي سلسلتين نصيتين مع بعضهما بعضًا. | |||
===<code>[[Ruby/String/force_encoding|force_encoding]]</code>=== | ===<code>[[Ruby/String/force_encoding|force_encoding]]</code>=== | ||
يغير ترميز السلسلة النصية التي استدعي معها إلى ترميز مُحدد ثم يعيدها. | |||
===<code>[[Ruby/String/freeze|freeze]]</code>=== | ===<code>[[Ruby/String/freeze|freeze]]</code>=== | ||
يجمد السلسلة النصية التي استُدعيت معه، أي يجعلها غير قابلة للتعديل. | |||
===<code>[[Ruby/String/getbyte|getbyte]]</code>=== | ===<code>[[Ruby/String/getbyte|getbyte]]</code>=== | ||
يُعيد قيمة البايت المقابل للمحرف الموجود في الفهرس المُحدد من السلسلة النصية التي استدعي معها. | |||
===<code>[[Ruby/String/grapheme_clusters|grapheme_clusters]]</code>=== | ===<code>[[Ruby/String/grapheme_clusters|grapheme_clusters]]</code>=== | ||
يعيد مصفوفة من الوحدات الكتابية (grapheme clusters) الموجودة في السلسلة النصية التي استدعيت معه. | |||
===<code>[[Ruby/String/gsub|gsub]]</code>=== | ===<code>[[Ruby/String/gsub|gsub]]</code>=== | ||
يعيد نسخة من السلسلة النصية التي استدعيت معه مع تبديل قيمة (أو قيم) محدَّدة مكان جميع الأنماط المتطابقة فيها. | |||
===<code>[[Ruby/String/gsub-21|gsub!]]</code>=== | ===<code>[[Ruby/String/gsub-21|gsub!]]</code>=== | ||
يبدل قيمة (أو قيم) محدَّدة مكان جميع الأنماط المتطابقة في السلسلة النصية التي استدعي معها. | |||
===<code>[[Ruby/String/hash|hash]]</code>=== | ===<code>[[Ruby/String/hash|hash]]</code>=== | ||
يعيد القيمة hash (قيمة عددية مختصرة) بناءً على طول، ومحتوى، وترميز السلسلة النصية التي استدعي معها. | |||
===<code>[[Ruby/String/hex|hex]]</code>=== | ===<code>[[Ruby/String/hex|hex]]</code>=== | ||
يتعامل مع بادئة السلسلة النصية كسلسلة من الأرقام الست عشرية ثم يُعيد الرقم المُقابل لها. | |||
===<code>[[Ruby/String/include-3F|include?]]</code>=== | ===<code>[[Ruby/String/include-3F|include?]]</code>=== | ||
يتحقق إذا كانت السلسلة النصية التي استدعيت معها تحتوي على السلسلة النصية أو المحرف المُمرَّر إليها. | |||
===<code>[[Ruby/String/index|index]]</code>=== | ===<code>[[Ruby/String/index|index]]</code>=== | ||
يبحث عن سلسلة أو نمط مُحدد ضمن السلسلة النصية التي استدعيت معها، ثم يُعيد فهرس أول تطابق يعثر عليه. | |||
===<code>[[Ruby/String/insert|insert]]</code>=== | ===<code>[[Ruby/String/insert|insert]]</code>=== | ||
يُدرِج السلسلة النصية المُمرَّرة إليه في موضع مُحدد، معدلًا السلسلة النصية التي استدعي معها. | |||
===<code>[[Ruby/String/inspect|inspect]]</code>=== | ===<code>[[Ruby/String/inspect|inspect]]</code>=== | ||
يُعيد نسخة قابلة للطباعة من السلسلة النصية محاطةً بعلامات تنصيص، مع تهريب الحروف الخاصة. | |||
===<code>[[Ruby/String/intern|intern]]</code>=== | ===<code>[[Ruby/String/intern|intern]]</code>=== | ||
يُعيد الرمز المقابل للسلسلة النصية التي استدعي معها، أو يُنشىء ذلك الرمز إذا لم يكن مُوجودًا مُسبقًا. | |||
===<code>[[Ruby/String/length|length]]</code>=== | ===<code>[[Ruby/String/length|length]]</code>=== | ||
يُعيد طول محارف السلسلة النصية. | |||
===<code>[[Ruby/String/lines|lines]]</code>=== | ===<code>[[Ruby/String/lines|lines]]</code>=== | ||
يُعيد مصفوفة كل عنصر منها سطرًا من سطور السلسلة النصية المعطاة. | |||
===<code>[[Ruby/String/ljust|ljust]]</code>=== | ===<code>[[Ruby/String/ljust|ljust]]</code>=== | ||
يعيد سلسلة جديدة بطول محدَّد تحتوي في يسارها على السلسلة النصية المُعطاة مع حشو الحجم المتبقي بمحارف محدَّدة. | |||
===<code>[[Ruby/String/lstrip|lstrip]]</code>=== | ===<code>[[Ruby/String/lstrip|lstrip]]</code>=== | ||
يعيد نسخة عن السلسلة النصية مع حذف المسافة البيضاء في بادئة السلسلة. | |||
===<code>[[Ruby/String/lstrip-21|lstrip!]]</code>=== | ===<code>[[Ruby/String/lstrip-21|lstrip!]]</code>=== | ||
يحذف المسافة البيضاء في بادئة السلسلة النصية المعطاة. | |||
===<code>[[Ruby/String/match|match]]</code>=== | ===<code>[[Ruby/String/match|match]]</code>=== | ||
يحول النمط المُمرَّر إليه إلى <nowiki/>[[Ruby/Regexp|تعبير نمطي]] (إن لم يكن كذلك) ثم يطابقه مع السلسلة النصية التي استدعيت معه. | |||
===<code>[[Ruby/String/match-3F|match?]]</code>=== | ===<code>[[Ruby/String/match-3F|match?]]</code>=== | ||
يحول النمط المُمرَّر إليه إلى <nowiki/>[[Ruby/Regexp|تعبير نمطي]] (إن لم يكن كذلك) ثم يتحقق من مطابقته من السلسلة النصية التي استدعي معها دون تحديث قيمة المتغير <code>~$</code> والمتغيرات الأخرى المماثلة. | |||
===<code>[[Ruby/String/next|next]]</code>=== | ===<code>[[Ruby/String/next|next]]</code>=== | ||
يعيد السلسلة النصية اللاحقة للسلسلة النصية التي استدعي معها. | |||
===<code>[[Ruby/String/next-21|next!]]</code>=== | ===<code>[[Ruby/String/next-21|next!]]</code>=== | ||
يشبه التابع <code>[[Ruby/String/next|next]]</code> تمامًا باستثناء أنه يعدل على السلسلة النصية التي تُستدعَى معه. | |||
===<code>[[Ruby/String/oct|oct]]</code>=== | ===<code>[[Ruby/String/oct|oct]]</code>=== | ||
يتعامل مع بادئة السلسلة النصية المعطاة كسلسلة من الأرقام الثمانية (والتي قد تبدأ بإشارة الرقم الاختيارية)، ومن ثم يُعيد الرقم المُقابل لها. | |||
===<code>[[Ruby/String/ord|ord]]</code>=== | ===<code>[[Ruby/String/ord|ord]]</code>=== | ||
يعيد العدد الترتيبي (Integer ordinal) المقابل لأول محرف فى السلسلة النصية المعطاة. | |||
===<code>[[Ruby/String/partition|partition]]</code>=== | ===<code>[[Ruby/String/partition|partition]]</code>=== | ||
يبحث عن تطابق نص أو نمط محدد ضمن السلسلة النصية التي استدعي معها. | |||
===<code>[[Ruby/String/prepend|prepend]]</code>=== | ===<code>[[Ruby/String/prepend|prepend]]</code>=== | ||
يُلحق السلسلة النصية المُمرَّرة إليه ببداية السلسلة النصية التي استدعيت معه. | |||
===<code>[[Ruby/String/replace|replace]]</code>=== | ===<code>[[Ruby/String/replace|replace]]</code>=== | ||
يستبدل محتوى السلسلة النصية التي استدعي معها بمحتوى السلسلة المُمرَّرة إليه. | |||
===<code>[[Ruby/String/reverse|reverse]]</code>=== | ===<code>[[Ruby/String/reverse|reverse]]</code>=== | ||
يعكس ترتيب محارف السلسلة النصية التي استدعي معها ويضعها في سلسلة نصية جديدة. | |||
===<code>[[Ruby/String/reverse-21|reverse!]]</code>=== | ===<code>[[Ruby/String/reverse-21|reverse!]]</code>=== | ||
يعدل على السلسلة النصية التي استدعي معها بعكس ترتيب المحارف فيها. | |||
===<code>[[Ruby/String/rindex|rindex]]</code>=== | ===<code>[[Ruby/String/rindex|rindex]]</code>=== | ||
يبحث عن سلسلة أو نمط مُحدد ضمن السلسلة النصية التي استدعي معها، ثم يُعيد فهرس آخر تطابق يعثر عليه. | |||
===<code>[[Ruby/String/rjust|rjust]]</code>=== | ===<code>[[Ruby/String/rjust|rjust]]</code>=== | ||
يعيد سلسلة جديدة بطول محدَّد تحتوي في يمينها على السلسلة النصية المُعطاة مع حشو الحجم المتبقي بمحارف محدَّدة. | |||
===<code>[[Ruby/String/rpartition|rpartition]]</code>=== | ===<code>[[Ruby/String/rpartition|rpartition]]</code>=== | ||
يبحث عن تطابق نص أو نمط محدد بدءًا من نهاية السلسلة النصية ثم يعيد، إذا عثر التابع على تطابق، مصفوفةً من الجزء الذي يسبقه، والجزء المطابق، والجزء الذي يليه على التوالي. | |||
===<code>[[Ruby/String/rstrip|rstrip]]</code>=== | ===<code>[[Ruby/String/rstrip|rstrip]]</code>=== | ||
يعيد نسخة عن السلسلة النصية التي استدعي معها مع حذف المسافات البيضاء من نهايتها. | |||
===<code>[[Ruby/String/rstrip-21|rstrip!]]</code>=== | ===<code>[[Ruby/String/rstrip-21|rstrip!]]</code>=== | ||
يحذف المسافة البيضاء من نهاية السلسلة النصية التي استدعي معها. | |||
===<code>[[Ruby/String/scan|scan]]</code>=== | ===<code>[[Ruby/String/scan|scan]]</code>=== | ||
يبحث عن نمط محدَّد ضمن السلسلة النصية التي استدعيت معه ويعيد النتائج المتطابقة في مصفوفة أو يمرِّرها إلى الكتلة المعطاة ويعيد الناتج الذي تعيده. | |||
===<code>[[Ruby/String/scrub|scrub]]</code>=== | ===<code>[[Ruby/String/scrub|scrub]]</code>=== | ||
يعيد نسخة عن السلسلة النصية التي استدعي معها مع استبدال البايتات غير الصالحة بمحرف محدَّد. | |||
===<code>[[Ruby/String/scrub-21|scrub!]]</code>=== | ===<code>[[Ruby/String/scrub-21|scrub!]]</code>=== | ||
يستبدل البايتات غير الصالحة في السلسلة النصية التي استدعي معها بمحرف محدَّد أو بالقيمة التي تعيدها الكتلة إن أعطيت. | |||
===<code>[[Ruby/String/setbyte|setbyte]]</code>=== | ===<code>[[Ruby/String/setbyte|setbyte]]</code>=== | ||
يستبدل بايتًا ذا فهرس محدَّد بقيمة محدَّدة في السلسلة النصية التي استدعي معها. | |||
===<code>[[Ruby/String/size|size]]</code>=== | ===<code>[[Ruby/String/size|size]]</code>=== | ||
يُعيد طول محارف السلسلة النصية التي استدعي معها. | |||
===<code>[[Ruby/String/slice|slice]]</code>=== | ===<code>[[Ruby/String/slice|slice]]</code>=== | ||
يجلب محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه. | |||
===<code>[[Ruby/String/slice-21|slice!]]</code>=== | ===<code>[[Ruby/String/slice-21|slice!]]</code>=== | ||
يقتطع محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه. | |||
===<code>[[Ruby/String/split|split]]</code>=== | ===<code>[[Ruby/String/split|split]]</code>=== | ||
يُقسِّم السلسلة النصية التي استدعي معها إلى سلاسل نصية فرعية اعتمادًا على فاصل محدَّد ثم يعيد تلك السلاسل الفرعية في مصفوفة. | |||
===<code>[[Ruby/String/squeeze|squeeze]]</code>=== | ===<code>[[Ruby/String/squeeze|squeeze]]</code>=== | ||
يعيد نسخة عن السلسلة النصية التي استدعي معها مع استبدال المحارف المكررة على التوالي بمحرف واحد لكل منها. | |||
===<code>[[Ruby/String/squeeze-21|squeeze!]]</code>=== | ===<code>[[Ruby/String/squeeze-21|squeeze!]]</code>=== | ||
يستبدل المحارف المكررة على التوالي فى السلسلة النصية بمحرف واحد لكل منها. | |||
===<code>[[Ruby/String/start_with-3F|start_with?]]</code>=== | ===<code>[[Ruby/String/start_with-3F|start_with?]]</code>=== | ||
يتحقق إذا كانت السلسلة النصية تبدأ بإحدى السوابق المُحددة. | |||
===<code>[[Ruby/String/strip|strip]]</code>=== | ===<code>[[Ruby/String/strip|strip]]</code>=== | ||
يعيد نسخة عن السلسلة النصية مع حذف المسافات البيضاء من بداية ونهاية السلسلة النصية التي استدعيت معها. | |||
===<code>[[Ruby/String/strip-21|strip!]]</code>=== | ===<code>[[Ruby/String/strip-21|strip!]]</code>=== | ||
يحذف المسافات البيضاء من بداية ونهاية السلسلة النصية التي استدعيت معها. | |||
===<code>[[Ruby/String/sub|sub]]</code>=== | ===<code>[[Ruby/String/sub|sub]]</code>=== | ||
يعيد نسخة من السلسلة النصية التي استدعي معها مع تبديل قيمة محدَّدة مع أول تطابق للنمط المعطى. | |||
===<code>[[Ruby/String/sub-21|sub!]]</code>=== | ===<code>[[Ruby/String/sub-21|sub!]]</code>=== | ||
يبدل قيمة محدَّدة مكان أول تطابق للنمط معطى في السلسلة النصية التي استدعي معها. | |||
===<code>[[Ruby/String/succ|succ]]</code>=== | ===<code>[[Ruby/String/succ|succ]]</code>=== | ||
يعيد السلسلة التي تلي السلسلة النصية التي استدعيت معه. | |||
===<code>[[Ruby/String/succ-21|succ!]]</code>=== | ===<code>[[Ruby/String/succ-21|succ!]]</code>=== | ||
يستبدل السلسلة النصية التي استدعيت معه بالسلسلة التي تليها. | |||
===<code>[[Ruby/String/sum|sum]]</code>=== | ===<code>[[Ruby/String/sum|sum]]</code>=== | ||
يعيد المجموع التحقُّقي (checksum) ذي الحجم <code>n</code> بت لحروف السلسلة النصية التي استدعيت معه. | |||
===<code>[[Ruby/String/swapcase|swapcase]]</code>=== | ===<code>[[Ruby/String/swapcase|swapcase]]</code>=== | ||
يعيد نسخة عن السلسلة النصية التي استدعيت معه مع استبدال الحروف الأبجدية الكبيرة بنظيراتها الصغيرة، واستبدال الحروف الصغيرة بنظيراتها الكبيرة. | |||
===<code>[[Ruby/String/swapcase-21|swapcase!]]</code>=== | ===<code>[[Ruby/String/swapcase-21|swapcase!]]</code>=== | ||
يستبدل الحروف الأبجدية الكبيرة في السلسلة النصية التي استدعيت معها بنظيراتها الصغيرة، والحروف الصغيرة بنظيراتها الكبيرة. | |||
===<code>[[Ruby/String/to_c|to_c]]</code>=== | ===<code>[[Ruby/String/to_c|to_c]]</code>=== | ||
يحول السلسلة النصية التي استدعيت معه إلى [[Ruby/Complex|عدد عقدي]]. | |||
===<code>[[Ruby/String/to_f|to_f]]</code>=== | ===<code>[[Ruby/String/to_f|to_f]]</code>=== | ||
يحول الأرقام الموجودة في بداية السلسلة النصية المعطاة إلى [[Ruby/Float|عدد عشري]]. | |||
===<code>[[Ruby/String/to_i|to_i]]</code>=== | ===<code>[[Ruby/String/to_i|to_i]]</code>=== | ||
يحول العدد الموجود في بادئة السلسلة النصية المعطاة إلى [[Ruby/Integer|عدد صحيح]] ذي أساس محدَّد. | |||
===<code>[[Ruby/String/to_r|to_r]]</code>=== | ===<code>[[Ruby/String/to_r|to_r]]</code>=== | ||
يحول العدد الموجود في بادئة السلسلة النصية المعطاة إلى [[Ruby/Rational|عدد جذري]]. | |||
===<code>[[Ruby/String/to_s|to_s]]</code>=== | ===<code>[[Ruby/String/to_s|to_s]]</code>=== | ||
يعيد السلسلة النصية التي استدعيت معه نفسها. | |||
===<code>[[Ruby/String/to_str|to_str]]</code>=== | ===<code>[[Ruby/String/to_str|to_str]]</code>=== | ||
يعيد السلسلة النصية التي استدعيت معه نفسها. | |||
===<code>[[Ruby/String/to_sym|to_sym]]</code>=== | ===<code>[[Ruby/String/to_sym|to_sym]]</code>=== | ||
يحول السلسلة النصية التي استدعيت معه إلى [[Ruby/Symbol|رمز]]، إذ يُنشىء ذلك الرمز إذا لم يكن الرمز المقابل للسلسلة النصية تلك مُوجودًا مُسبقًا. | |||
===<code>[[Ruby/String/tr|tr]]</code>=== | ===<code>[[Ruby/String/tr|tr]]</code>=== | ||
يعيد نسخة عن السلسلة النصية المُعطاة مع استبدال مجموعة محارف محدَّدة فيها بالمحارف المقابلة المعطاة. | |||
===<code>[[Ruby/String/tr-21|tr!]]</code>=== | ===<code>[[Ruby/String/tr-21|tr!]]</code>=== | ||
يستبدل مجموعة محارف محدَّدة في السلسلة النصية المُعطاة بمحارف مقابلة لها. | |||
===<code>[[Ruby/String/tr_s|tr_s]]</code>=== | ===<code>[[Ruby/String/tr_s|tr_s]]</code>=== | ||
يشبه التابع <code>[[Ruby/String/tr|tr]]</code> باستثناء أنه يحذف المحارف المُكرَّرة الواقعة ضمن المجال المراد استبداله. | |||
===<code>[[Ruby/String/tr_s-21|tr_s!]]</code>=== | ===<code>[[Ruby/String/tr_s-21|tr_s!]]</code>=== | ||
يشبه التابع <code>[[Ruby/String/tr s|tr_s]]</code> باستثناء أنَّه يجري عملية الاستبدال على السلسلة النصية بدلًا من نسخة عنها. | |||
===<code>[[Ruby/String/undump|undump]]</code>=== | ===<code>[[Ruby/String/undump|undump]]</code>=== | ||
يعيد نسخة عن السلسلة النصية التي استدعي معها مع حذف جميع المحارف المُهربة منها. | |||
===<code>[[Ruby/String/unicode_normalize|unicode_normalize]]</code>=== | ===<code>[[Ruby/String/unicode_normalize|unicode_normalize]]</code>=== | ||
يعيد نسخة موحدة (normalized string، أي ذات ترميز موحد) للسلسلة النصية التي استدعيت معه باستخدام أحد ترميزات يونيكود الموحدة. | |||
===<code>[[Ruby/String/unicode_normalize-21|unicode_normalize!]]</code>=== | ===<code>[[Ruby/String/unicode_normalize-21|unicode_normalize!]]</code>=== | ||
يوحد ترميز السلسلة النصية التي استدعيت معه باستخدام أحد ترميزات يونيكود الموحدة. | |||
===<code>[[Ruby/String/unicode_normalized-3F|unicode_normalized?]]</code>=== | ===<code>[[Ruby/String/unicode_normalized-3F|unicode_normalized?]]</code>=== | ||
يتحقق إذا كانت السلسلة النصية التي استدعيت معه ذات ترميز موحَّد باستخدام أحد ترميزات يونيكود الموحدة (Unicode normalizations). | |||
===<code>[[Ruby/String/unpack|unpack]]</code>=== | ===<code>[[Ruby/String/unpack|unpack]]</code>=== | ||
يفك ترميز السلسلة النصية التي استدعي معها (والتي قد تحوي بيانات ثنائية) وفقًا إلى سلسلة التنسيق المعطاة، ويعيد مصفوفة من كل قيمة مستخرجة. | |||
===<code>[[Ruby/String/unpack1|unpack1]]</code>=== | ===<code>[[Ruby/String/unpack1|unpack1]]</code>=== | ||
يفك ترميز السلسلة النصية التي استدعي معها (والتي قد تحوي بيانات ثنائية) وفقًا إلى سلسلة التنسيق المعطاة، ويعيد أول قيمة مستخرجة. | |||
===<code>[[Ruby/String/upcase|upcase]]</code>=== | ===<code>[[Ruby/String/upcase|upcase]]</code>=== | ||
يعيد نسخةً عن السلسلة النصية مع استبدال الحروف الصغيرة بنظائرها الكبيرة. | |||
===<code>[[Ruby/String/upcase-21|upcase!]]</code>=== | ===<code>[[Ruby/String/upcase-21|upcase!]]</code>=== | ||
يستبدل الحروف الصغيرة فى السلسلة النصية بنظائرها الكبيرة. | |||
===<code>[[Ruby/String/upto|upto]]</code>=== | ===<code>[[Ruby/String/upto|upto]]</code>=== | ||
يعيد القيم المتعاقبة، ابتداءًا من السلسلة النصية <code>str</code> المُعطاة، وانتهاءًا بالسلسلة المُمرَّرة إليه، ثم تُمرَّر كل قيمة بدورها إلى الكتلة المعطاة. | |||
===<code>[[Ruby/String/valid_encoding-3F|valid_encoding?]]</code>=== | ===<code>[[Ruby/String/valid_encoding-3F|valid_encoding?]]</code>=== | ||
يتحقق إذا كانت سلسلة نصية مُرمّزة بشكل صحيح. | |||
== ملاحظات إضافية == | |||
لمعرفة أوسع حول استعمال السلاسل النصية في روبي، اطلع على المراجع التالية: | |||
* الصنف <code>[[Ruby/Encoding|Encoding]]</code>. | |||
* ترميز المحارف. | |||
* لا تنشئ سلاسل نصية في روبي أطول من 23 محرف. | |||
* كيف تشارك روبي قيم السلاسل النصية؟! | |||
== مصادر == | == مصادر == |
المراجعة الحالية بتاريخ 21:36، 27 مارس 2019
السلاسل النصية (string) هي سلسلة تحتوي على حرف واحد أو أكثر وقد تحتوي على حروف أبجدية، مثل أرقام ورموز، ويكون كل حرف (أو رمز أو رقم) ممثلاً ببايت. السلاسل النصية في لغة البرمجة روبي عبارة عن كائنات (Objects)، وعلى عكس لغات البرمجة الأخرى، فإن النصوص قابلة للتغيير (Mutable) والتي تعني أننا نستطيع تعديل النصوص بدلًا من إنشاء نصوص جديدة.
علامتا الاقتباس المزدوجتين والمفردتين
يتم إنشاء السلاسل النصية (string) في لغة روبي باستعمال علامات الاقتباس المزدوجة (مثل "string"
) أو المفردة (مثل 'string'
).
يمكن مثلًا كتابة العبارة النصية Hello Ruby بالشكل “ Hello Ruby ” (علامتا تنصيص مزدوجتين) أو الشكل ‘ Hello Ruby ’ (علامتا تنصيص مفردتين). الفرق الوحيد بينهما هو أن الطريقة الأولى تتيح استيفاء النصوص (String Interpolation) وإدراج شيفرات برمجية في السلاسل النصية.
تهريب علامات الاقتباس
يتم تهريب علامات الاقتباس بوضع الخط المائل العكسي قبل علامة الاقتباس بالشكل التالي "\
:
“Sami said: \” Hello everyone \” “ #=> Sami said: “ Hello everyone “
استعمال المحددات
يمكن تعريف السلسلة النصية باستعمال المحددات، حيث توضع في البداية علامة النسبة المئوية (%)، ومن ثم توضع المحددات في بداية ونهاية السلسلة النصية، والمحددات هي رموز يختارها المبرمج، على سبيل المثال علامة $ وعلامة & وعلامة @، كذلك يمكن استعمال الأقواس المعقوفة ({ }) أو المُربعة ([ ]) كمحدد. إليك المثال التالي :
%$ Sami Says: “ Hello everyone “ $ #=> Sami Says: “ Hello everyone “
%{ Sami Says: “ Hello everyone “ } #=> Sami Says: “ Hello everyone “
%[ Sami Says: “ Hello everyone ” ] #=> Sami Says: “ Hello everyone “
واضح من المثال أنه أياً كان المحدد، فإن النتيجة سوف تبقى نفسها.
السلاسل النصية والمتغيرات
يمكن حفظ السلاسل النصية في متغيرات من أجل العودة إليها لاحقًا، إذ كل ما يجب فعله هو تعريف اسم المتغير وإعطاءه قيمة النص المرغوب تخزينه.
title = “Welcome To Ruby Documentation”
puts title #=> Welcome To Ruby Documentation
إدراج شيفرات برمجية في السلاسل النصية
يتم إدراج شيفرات برمجية في السلاسل النصية عن طريق وضعها ضمن أقواس معقوصة ({ }
) مسبوقة بعلامة #
ضمن السلسلة النصية نفسها.
name = “wikiHsoup”
puts “ My name is #{name} ” #=> My name is wikiHsoup
puts “ Sum is #{1+1} “ #=> Sum is 2
يجب الإشارة إلى أن إدراج الشيفرات البرمجية يعمل فقط مع السلاسل النصية المعرفة باستعمال علامتا التنصيص المزدوجتين والمحددات، ولا يعمل مع السلاسل النصية المعرفة باستخدام علامتا التنصيص المفردتين (' ').
name = “wikiHsoup”
puts ‘ My name is #{name} ‘ #=> My name is #{name}
ملاحظات
لمَّا كان هنالك بعض التعارضات في الأسماء البديلة، فيجب على من يستعل الصنف String أن يكون واعيًّا وحذرًا لكي تفرِّق بين التوابع التي تعدِّل محتوى السلسلة النصية الأصلية نفسها وبين التي تعدِّل المحتوى وتضعه في سلسلة نصية جديدة. عادةً، التوابع التي تنتهي بعلامة التعجب "!" هي التي تعدِّل السلسلة النصية الأصلية بينما تضع التوابع الأخرى المحتوى الذي عدلته في سلسلة نصية جديدة. على أي حال، هنالك استثناءات دومًا، لذا اقرأ التوثيق كل تابع بشكل جيد قبل استعماله.
توابع الصنف العامة
new
ينشئ سلسلةً نصيةً جديدةً تحوي البيانات المُمرَّرة إليه.
try_convert
يحاول تحويل الكائن الذي مُرِّر إليه إلى سلسلة نصية.
توابع النسخة العامة
%
يطبِّق السلسلة النصية الواقعة على يساره التي تعد سلسلة تنسيق معيارية على الكائن المعطى الواقع على يمينه ثم يعيد الناتج.
*
ينسخ سلسلة نصية عددًا محدَّدًا من المرات ثم يضعها في سلسلة نصية جديدة.
+
يجمع سلسلتين نصيتين مع بعضهما بعضًا ثم يعيد الناتج في سلسلة نصية جديدة.
+@
يعيد المعامل +
عند استدعائه بالشكل str+
نسخةً مطابقةً للسلسلة النصية str
وقابلةً للتغيير (Mutable) في حال كانت هذه السلسلة النصية مجمدة.
-@
يعيد المعامل -
عند استدعائه بالشكل str-
نسخةً مطابقةً ومجمدةً للسلسلة النصية str
في حال كانت غير مجمدة.
>>
يُلحق الكائن المُعطى بالسلسلة النصية.
<=>
يُقارن بين سلسلتين نصيتين ثم يعيد القيم 1-، أو 1، أو 0، إذا ما كانت السلسلة النصية الأولى أكبر أو أصغر أو تساوي السلسلة النصية الثانية على التوالي.
==
يتحقق من تساوي السلسلة النصية مع أي كائن آخر، علمًا أن المساواة تتحقق عند تطابق الطول والمحتوى.
===
يتحقق من تساوي السلسلة النصية مع أي كائن آخر، علمًا أن المساواة تتحقق عند تطابق الطول والمحتوى.
=~
يطابق التعبير النمطي المُعطى مع سلسلة نصية.
[]
يجلب محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه.
[]=
يبدِّل عند استدعائه بالشكل []=
سلسلةً نصيةً محدَّدةً مكان جزءٍ محدَّد أو كامل محتوى سلسلة نصية أخرى.
ascii_only?
يتحقق إذا كانت السلسلة النصية مؤلفة من محارف مرمزة بالترميز ASCII فقط.
b
يعيد نسخة من السلسلة النصية التي استدعيت معه مرمزة بالترميز ASCII-8BIT.
bytes
يُعيد البايتات المقابلة لمحارف السلسلة النصية في مصفوفة.
bytesize
يعيد طول السلسلة النصية التي استدعيت معه بالبايت.
byteslice
يجلب محرفًا ذا فهرس محدَّد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه.
capitalize
يعيد نسخة عن السلسلة النصية المعطاة مع تحويل الحرف الأول فيها إلى حرف كبير، وباقي الأحرف إلى أحرف صغيرة.
capitalize!
يُعدل السلسلة النصية بتحويل الحرف الأول إلى حرف كبير، وباقي الأحرف إلى أحرف صغيرة، أو يعيد القيمة nil
في حال عدم إجراء أي تعديل.
casecmp
يقارن بين سلسلتين نصيتين دون أخذ حالة الأحرف بالحسبان.
casecmp?
يتحقق إذا كانت السلسلة النصية التي استدعيت معه متساوية مع السلسلة المُمرَّرة إليه دون أخذ حالة المحارف بالحسبان.
center
يعيد سلسلة نصية جديدة بطول محدَّد مع وضع السلسلة النصية المعطاة في وسطها وحشو طرفيها بمحارف معيَّنة.
chars
يُعيد محارف السلسلة النصية على شكل مصفوفة.
chomp
يعيد نسخة عن السلسلة النصية مع حذف الفاصل السطري المُحدد من نهايتها (إن كان موجودًا).
chomp!
يحذف الفاصل السطري المُحدد من نهاية السلسلة النصية المعطاة، أو يعيد القيمة nil
إن لم يجري أي تعديل عليها.
chop
يعيد نسخةً عن السلسلة النصية مع حذف المحرف الأخير منها.
chop!
يحذف المحرف الأخير من السلسلة النصية المعطاة.
chr
يعيد المحرف الأول من السلسلة النصية المُعطاة.
clear
يمسح جميع محتوى السلسلة النصية المعطاة ويجعلها فارغة.
codepoints
يُعيد نقاط الترميز المقابلة لمحارف السلسلة النصية في مصفوفة.
concat
يضيف كائنات محدَّدة إلى السلسلة النصية التي استدعيت معه.
count
يحسب عدد الحروف المتواجدة ضمن السلسلة النصية المُعطاة.
crypt
يشفِّر بناءً على القيمة Hash السلسلة النصية التي استدعي معها بطريقة غير قابلة للعكس (one-way cryptographic hash) عبر استدعاء دالة المكتبة القياسية crypt(3)
مع السلسلة النصية الإضافية المُمرَّرة إليه.
delete
يعيد نسخة عن السلسلة النصية المُعطاة محذوفًا منها محارف السلسلة النصية المُمرَّرة إليه.
delete!
يحذف محارف السلسلة النصية المُمرَّرة إليه من السلسلة النصية التي استدعي معها.
delete_prefix
يعيد نسخة عن السلسلة النصية التي استدعي معها محذوفًا منها سابقة مُحددة.
delete_prefix!
يحذف سابقة محددة من السلسلة النصية المعطاة.
delete_suffix
يعيد نسخةً عن السلسلة النصية محذوفًا منها لاحقة مُحددة.
delete_suffix!
يحذف لاحقة محددة من السلسلة النصية التي استدعي معها.
downcase
يعيد نسخةً من السلسلة النصية التي استدعي معها مع استبدال الحروف الكبيرة بنظائرها الصغيرة.
downcase!
يعدل على السلسلة النصية المعطاة وذلك باستبدال الحروف الكبيرة فيها بنظائرها الصغيرة.
dump
يُعيد نسخة عن السلسلة النصية مع استبدال المحارف الغير مطبوعة بالرمز nnn\
وتهريب المحارف الخاصة.
each_byte
يُمرر كل بايت من بايتات السلسلة النصية التي استدعي معها إلى الكتلة المُعطاة.
each_char
يُمرر كل محرف من محارف السلسلة النصية التي استدعي معها إلى الكتلة المُعطاة.
each_codepoint
يُمرر كل عدد من الأعداد الترتيبية (Integers ordinal) المقابلة لكل محرف من محارف السلسلة النصية المعطاة إلى الكتلة المرتبطة به ثم يعيد الناتج الذي تعيده هذه الكتلة.
each_grapheme_cluster
يمرِّر كل وحدة كتابية (grapheme) إلى الكتلة المعطاة ثم يعيد سلسلة نصية بالناتج الذي تعيده.
each_line
يقتطع السلسلة النصية التي استدعيت معه إلى أجزاء (كل جزء يمثِّل سطرًا افتراضيًّا) مفصولة بفاصل محدَّد ثم يمرِّر كل منها على حدة إلى الكتلة المعطاة.
empty?
يتحقق إذا كانت سلسلة نصية فارغةً تمامًا أم لا.
encode
يحول سلسلة نصية مرمزة بترميز محدَّد إلى ترميز آخر ثم يعيد نسخة عنها.
encode!
يحول سلسلة نصية مرمزة بترميز محدَّد إلى ترميز آخر ثم يعيدها.
encoding
يُعيد ترميز السلسلة النصية التي استُدعيت معه.
end_with?
يتحقق إذا كانت السلسلة النصية منتهية بإحدى اللواحق المُحددة.
eql?
يتحقق من تساوي سلسلتين نصيتين مع بعضهما بعضًا.
force_encoding
يغير ترميز السلسلة النصية التي استدعي معها إلى ترميز مُحدد ثم يعيدها.
freeze
يجمد السلسلة النصية التي استُدعيت معه، أي يجعلها غير قابلة للتعديل.
getbyte
يُعيد قيمة البايت المقابل للمحرف الموجود في الفهرس المُحدد من السلسلة النصية التي استدعي معها.
grapheme_clusters
يعيد مصفوفة من الوحدات الكتابية (grapheme clusters) الموجودة في السلسلة النصية التي استدعيت معه.
gsub
يعيد نسخة من السلسلة النصية التي استدعيت معه مع تبديل قيمة (أو قيم) محدَّدة مكان جميع الأنماط المتطابقة فيها.
gsub!
يبدل قيمة (أو قيم) محدَّدة مكان جميع الأنماط المتطابقة في السلسلة النصية التي استدعي معها.
hash
يعيد القيمة hash (قيمة عددية مختصرة) بناءً على طول، ومحتوى، وترميز السلسلة النصية التي استدعي معها.
hex
يتعامل مع بادئة السلسلة النصية كسلسلة من الأرقام الست عشرية ثم يُعيد الرقم المُقابل لها.
include?
يتحقق إذا كانت السلسلة النصية التي استدعيت معها تحتوي على السلسلة النصية أو المحرف المُمرَّر إليها.
index
يبحث عن سلسلة أو نمط مُحدد ضمن السلسلة النصية التي استدعيت معها، ثم يُعيد فهرس أول تطابق يعثر عليه.
insert
يُدرِج السلسلة النصية المُمرَّرة إليه في موضع مُحدد، معدلًا السلسلة النصية التي استدعي معها.
inspect
يُعيد نسخة قابلة للطباعة من السلسلة النصية محاطةً بعلامات تنصيص، مع تهريب الحروف الخاصة.
intern
يُعيد الرمز المقابل للسلسلة النصية التي استدعي معها، أو يُنشىء ذلك الرمز إذا لم يكن مُوجودًا مُسبقًا.
length
يُعيد طول محارف السلسلة النصية.
lines
يُعيد مصفوفة كل عنصر منها سطرًا من سطور السلسلة النصية المعطاة.
ljust
يعيد سلسلة جديدة بطول محدَّد تحتوي في يسارها على السلسلة النصية المُعطاة مع حشو الحجم المتبقي بمحارف محدَّدة.
lstrip
يعيد نسخة عن السلسلة النصية مع حذف المسافة البيضاء في بادئة السلسلة.
lstrip!
يحذف المسافة البيضاء في بادئة السلسلة النصية المعطاة.
match
يحول النمط المُمرَّر إليه إلى تعبير نمطي (إن لم يكن كذلك) ثم يطابقه مع السلسلة النصية التي استدعيت معه.
match?
يحول النمط المُمرَّر إليه إلى تعبير نمطي (إن لم يكن كذلك) ثم يتحقق من مطابقته من السلسلة النصية التي استدعي معها دون تحديث قيمة المتغير ~$
والمتغيرات الأخرى المماثلة.
next
يعيد السلسلة النصية اللاحقة للسلسلة النصية التي استدعي معها.
next!
يشبه التابع next
تمامًا باستثناء أنه يعدل على السلسلة النصية التي تُستدعَى معه.
oct
يتعامل مع بادئة السلسلة النصية المعطاة كسلسلة من الأرقام الثمانية (والتي قد تبدأ بإشارة الرقم الاختيارية)، ومن ثم يُعيد الرقم المُقابل لها.
ord
يعيد العدد الترتيبي (Integer ordinal) المقابل لأول محرف فى السلسلة النصية المعطاة.
partition
يبحث عن تطابق نص أو نمط محدد ضمن السلسلة النصية التي استدعي معها.
prepend
يُلحق السلسلة النصية المُمرَّرة إليه ببداية السلسلة النصية التي استدعيت معه.
replace
يستبدل محتوى السلسلة النصية التي استدعي معها بمحتوى السلسلة المُمرَّرة إليه.
reverse
يعكس ترتيب محارف السلسلة النصية التي استدعي معها ويضعها في سلسلة نصية جديدة.
reverse!
يعدل على السلسلة النصية التي استدعي معها بعكس ترتيب المحارف فيها.
rindex
يبحث عن سلسلة أو نمط مُحدد ضمن السلسلة النصية التي استدعي معها، ثم يُعيد فهرس آخر تطابق يعثر عليه.
rjust
يعيد سلسلة جديدة بطول محدَّد تحتوي في يمينها على السلسلة النصية المُعطاة مع حشو الحجم المتبقي بمحارف محدَّدة.
rpartition
يبحث عن تطابق نص أو نمط محدد بدءًا من نهاية السلسلة النصية ثم يعيد، إذا عثر التابع على تطابق، مصفوفةً من الجزء الذي يسبقه، والجزء المطابق، والجزء الذي يليه على التوالي.
rstrip
يعيد نسخة عن السلسلة النصية التي استدعي معها مع حذف المسافات البيضاء من نهايتها.
rstrip!
يحذف المسافة البيضاء من نهاية السلسلة النصية التي استدعي معها.
scan
يبحث عن نمط محدَّد ضمن السلسلة النصية التي استدعيت معه ويعيد النتائج المتطابقة في مصفوفة أو يمرِّرها إلى الكتلة المعطاة ويعيد الناتج الذي تعيده.
scrub
يعيد نسخة عن السلسلة النصية التي استدعي معها مع استبدال البايتات غير الصالحة بمحرف محدَّد.
scrub!
يستبدل البايتات غير الصالحة في السلسلة النصية التي استدعي معها بمحرف محدَّد أو بالقيمة التي تعيدها الكتلة إن أعطيت.
setbyte
يستبدل بايتًا ذا فهرس محدَّد بقيمة محدَّدة في السلسلة النصية التي استدعي معها.
size
يُعيد طول محارف السلسلة النصية التي استدعي معها.
slice
يجلب محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه.
slice!
يقتطع محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه.
split
يُقسِّم السلسلة النصية التي استدعي معها إلى سلاسل نصية فرعية اعتمادًا على فاصل محدَّد ثم يعيد تلك السلاسل الفرعية في مصفوفة.
squeeze
يعيد نسخة عن السلسلة النصية التي استدعي معها مع استبدال المحارف المكررة على التوالي بمحرف واحد لكل منها.
squeeze!
يستبدل المحارف المكررة على التوالي فى السلسلة النصية بمحرف واحد لكل منها.
start_with?
يتحقق إذا كانت السلسلة النصية تبدأ بإحدى السوابق المُحددة.
strip
يعيد نسخة عن السلسلة النصية مع حذف المسافات البيضاء من بداية ونهاية السلسلة النصية التي استدعيت معها.
strip!
يحذف المسافات البيضاء من بداية ونهاية السلسلة النصية التي استدعيت معها.
sub
يعيد نسخة من السلسلة النصية التي استدعي معها مع تبديل قيمة محدَّدة مع أول تطابق للنمط المعطى.
sub!
يبدل قيمة محدَّدة مكان أول تطابق للنمط معطى في السلسلة النصية التي استدعي معها.
succ
يعيد السلسلة التي تلي السلسلة النصية التي استدعيت معه.
succ!
يستبدل السلسلة النصية التي استدعيت معه بالسلسلة التي تليها.
sum
يعيد المجموع التحقُّقي (checksum) ذي الحجم n
بت لحروف السلسلة النصية التي استدعيت معه.
swapcase
يعيد نسخة عن السلسلة النصية التي استدعيت معه مع استبدال الحروف الأبجدية الكبيرة بنظيراتها الصغيرة، واستبدال الحروف الصغيرة بنظيراتها الكبيرة.
swapcase!
يستبدل الحروف الأبجدية الكبيرة في السلسلة النصية التي استدعيت معها بنظيراتها الصغيرة، والحروف الصغيرة بنظيراتها الكبيرة.
to_c
يحول السلسلة النصية التي استدعيت معه إلى عدد عقدي.
to_f
يحول الأرقام الموجودة في بداية السلسلة النصية المعطاة إلى عدد عشري.
to_i
يحول العدد الموجود في بادئة السلسلة النصية المعطاة إلى عدد صحيح ذي أساس محدَّد.
to_r
يحول العدد الموجود في بادئة السلسلة النصية المعطاة إلى عدد جذري.
to_s
يعيد السلسلة النصية التي استدعيت معه نفسها.
to_str
يعيد السلسلة النصية التي استدعيت معه نفسها.
to_sym
يحول السلسلة النصية التي استدعيت معه إلى رمز، إذ يُنشىء ذلك الرمز إذا لم يكن الرمز المقابل للسلسلة النصية تلك مُوجودًا مُسبقًا.
tr
يعيد نسخة عن السلسلة النصية المُعطاة مع استبدال مجموعة محارف محدَّدة فيها بالمحارف المقابلة المعطاة.
tr!
يستبدل مجموعة محارف محدَّدة في السلسلة النصية المُعطاة بمحارف مقابلة لها.
tr_s
يشبه التابع tr
باستثناء أنه يحذف المحارف المُكرَّرة الواقعة ضمن المجال المراد استبداله.
tr_s!
يشبه التابع tr_s
باستثناء أنَّه يجري عملية الاستبدال على السلسلة النصية بدلًا من نسخة عنها.
undump
يعيد نسخة عن السلسلة النصية التي استدعي معها مع حذف جميع المحارف المُهربة منها.
unicode_normalize
يعيد نسخة موحدة (normalized string، أي ذات ترميز موحد) للسلسلة النصية التي استدعيت معه باستخدام أحد ترميزات يونيكود الموحدة.
unicode_normalize!
يوحد ترميز السلسلة النصية التي استدعيت معه باستخدام أحد ترميزات يونيكود الموحدة.
unicode_normalized?
يتحقق إذا كانت السلسلة النصية التي استدعيت معه ذات ترميز موحَّد باستخدام أحد ترميزات يونيكود الموحدة (Unicode normalizations).
unpack
يفك ترميز السلسلة النصية التي استدعي معها (والتي قد تحوي بيانات ثنائية) وفقًا إلى سلسلة التنسيق المعطاة، ويعيد مصفوفة من كل قيمة مستخرجة.
unpack1
يفك ترميز السلسلة النصية التي استدعي معها (والتي قد تحوي بيانات ثنائية) وفقًا إلى سلسلة التنسيق المعطاة، ويعيد أول قيمة مستخرجة.
upcase
يعيد نسخةً عن السلسلة النصية مع استبدال الحروف الصغيرة بنظائرها الكبيرة.
upcase!
يستبدل الحروف الصغيرة فى السلسلة النصية بنظائرها الكبيرة.
upto
يعيد القيم المتعاقبة، ابتداءًا من السلسلة النصية str
المُعطاة، وانتهاءًا بالسلسلة المُمرَّرة إليه، ثم تُمرَّر كل قيمة بدورها إلى الكتلة المعطاة.
valid_encoding?
يتحقق إذا كانت سلسلة نصية مُرمّزة بشكل صحيح.
ملاحظات إضافية
لمعرفة أوسع حول استعمال السلاسل النصية في روبي، اطلع على المراجع التالية:
- الصنف
Encoding
. - ترميز المحارف.
- لا تنشئ سلاسل نصية في روبي أطول من 23 محرف.
- كيف تشارك روبي قيم السلاسل النصية؟!