الفرق بين المراجعتين ل"Ruby/Encoding/compatible-3F"

من موسوعة حسوب
< Ruby‏ | Encoding
اذهب إلى التنقل اذهب إلى البحث
(إضافة كامل الصفحة)
 
ط
 
(4 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
{{DISPLAYTITLE:التابع Encoding.compatible?‎ في روبي}}
+
{{DISPLAYTITLE:التابع <code>?Encoding.compatible</code> في روبي}}
 
+
يتحقّق التابع <code>compatible?</code>‎ من توافق كائنين مع بعضهما بعضًا.
يتحقّق التابع compatible?‎ من توافق كائنين مع بعضهما بعضًا.
 
  
 
إذا كان نوع كلا الكائنين سلسلة نصية (string)، فإنهما يكونان متوافقين عندما يكونان قابلين للتسلسل (Concatenation).
 
إذا كان نوع كلا الكائنين سلسلة نصية (string)، فإنهما يكونان متوافقين عندما يكونان قابلين للتسلسل (Concatenation).
  
 
أمَّا إن لم يكن هذان الكائنان سلسلةً نصيةً، فسيُعدُّ كلاهما متوافقين عندما يملكان ترميزًا وكان:
 
أمَّا إن لم يكن هذان الكائنان سلسلةً نصيةً، فسيُعدُّ كلاهما متوافقين عندما يملكان ترميزًا وكان:
* كلا الترميزين متوافق مع الترميز US-ASCII، أو
+
* كلا الترميزين متوافق مع الترميز <code>US-ASCII</code>، أو
* أحد هذان التّرميزان هو ترميز من النوع 7-bit.
+
* أحد هذان التّرميزان هو ترميز من النوع <code>7-bit</code>.
  
 
== البنية العامة ==
 
== البنية العامة ==
سطر 17: سطر 16:
  
 
=== <code>obj1</code> ===
 
=== <code>obj1</code> ===
الكائن الأول المراد التحقق من توافقه مع الكائن obj2.
+
الكائن الأول المراد التحقق من توافقه مع الكائن <code>obj2</code>.
  
 
=== <code>obj2</code> ===
 
=== <code>obj2</code> ===
الكائن الثاني المراد التحقق من توافقه مع الكائن obj1.
+
الكائن الثاني المراد التحقق من توافقه مع الكائن <code>obj1</code>.
  
 
== القيم المعادة ==
 
== القيم المعادة ==
سطر 26: سطر 25:
  
 
== أمثلة ==
 
== أمثلة ==
بعض الأمثلة عن استخدام التابع compatible?‎:<syntaxhighlight lang="ruby">
+
بعض الأمثلة عن استخدام التابع <code>compatible?</code>‎:<syntaxhighlight lang="ruby">
 
Encoding.compatible?("\xa1".force_encoding("iso-8859-1"), "b")
 
Encoding.compatible?("\xa1".force_encoding("iso-8859-1"), "b")
 
 
#=> #<Encoding:ISO-8859-1>
 
#=> #<Encoding:ISO-8859-1>
  
 
Encoding.compatible?(
 
Encoding.compatible?(
 
+
  "\xa1".force_encoding("iso-8859-1"),
 "\xa1".force_encoding("iso-8859-1"),
+
  "\xa1\xa1".force_encoding("euc-jp"))
 
 
 "\xa1\xa1".force_encoding("euc-jp"))
 
 
 
 
#=> nil
 
#=> nil
 
 
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== انظر أيضًا ==
 
== انظر أيضًا ==
* التابع ?ascii_compatible: يتحقّق من توافق ترميز محدد مع الترميز ASCII.
+
* التابع <code>[[Ruby/Encoding/ascii compatible-3F|?ascii_compatible]]</code>: يتحقّق من توافق ترميز محدد مع الترميز ASCII.
* التّابع ?dummy: يتحقّق من التّرميز الزّائف.
+
* التّابع <code>[[Ruby/Encoding/dummy-3F|?dummy]]</code>: يتحقّق من التّرميز الزّائف.
  
 
== مصادر ==
 
== مصادر ==

المراجعة الحالية بتاريخ 10:27، 18 أكتوبر 2018

يتحقّق التابع compatible?‎ من توافق كائنين مع بعضهما بعضًا.

إذا كان نوع كلا الكائنين سلسلة نصية (string)، فإنهما يكونان متوافقين عندما يكونان قابلين للتسلسل (Concatenation).

أمَّا إن لم يكن هذان الكائنان سلسلةً نصيةً، فسيُعدُّ كلاهما متوافقين عندما يملكان ترميزًا وكان:

  • كلا الترميزين متوافق مع الترميز US-ASCII، أو
  • أحد هذان التّرميزان هو ترميز من النوع 7-bit.

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

compatible?(obj1, obj2)  enc or nil

المعاملات

obj1

الكائن الأول المراد التحقق من توافقه مع الكائن obj2.

obj2

الكائن الثاني المراد التحقق من توافقه مع الكائن obj1.

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

يعاد ترميز السلسلة النصية المتسلسلة (concatenated string) عندما تكون السلسلتان  obj1 و obj2 متوافقين، أو تعاد القيمة nil العدمية خلاف ذلك.

أمثلة

بعض الأمثلة عن استخدام التابع compatible?‎:

Encoding.compatible?("\xa1".force_encoding("iso-8859-1"), "b")
#=> #<Encoding:ISO-8859-1>

Encoding.compatible?(
  "\xa1".force_encoding("iso-8859-1"),
  "\xa1\xa1".force_encoding("euc-jp"))
#=> nil

انظر أيضًا

  • التابع ?ascii_compatible: يتحقّق من توافق ترميز محدد مع الترميز ASCII.
  • التّابع ?dummy: يتحقّق من التّرميز الزّائف.

مصادر