الفرق بين المراجعتين ل"Ruby/Encoding/compatible-3F"
اذهب إلى التنقل
اذهب إلى البحث
ط |
|||
(مراجعتان متوسطتان بواسطة نفس المستخدم غير معروضتين) | |||
سطر 1: | سطر 1: | ||
− | {{DISPLAYTITLE:التابع <code>Encoding.compatible | + | {{DISPLAYTITLE:التابع <code>?Encoding.compatible</code> في روبي}} |
يتحقّق التابع <code>compatible?</code> من توافق كائنين مع بعضهما بعضًا. | يتحقّق التابع <code>compatible?</code> من توافق كائنين مع بعضهما بعضًا. | ||
سطر 27: | سطر 27: | ||
بعض الأمثلة عن استخدام التابع <code>compatible?</code>:<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\xa1".force_encoding("euc-jp")) | |
− | |||
− | |||
− | |||
#=> nil | #=> nil | ||
− | |||
− | |||
</syntaxhighlight> | </syntaxhighlight> | ||
المراجعة الحالية بتاريخ 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
: يتحقّق من التّرميز الزّائف.