الدالة String.offsetByCodePoints()‎ في Kotlin

من موسوعة حسوب

تعيد الدالة offsetByCodePoints()‎ فهرس المحرف الموجود في السلسلة النصية التي استٌدعيت معها والذي ينزاح بمقدار محدد بدءًا من عنصر ذي فهرس محدد.

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

inline fun String.offsetByCodePoints(
    index: Int, 
    codePointOffset: Int
): Int

منصة التشغيل المطلوبة: JVM.

وجود الكلمة المفتاحية inline يدل على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)).

المعاملات

index

عدد صحيح يمثل فهرس العنصر الذي ستبدأ عنده عملية الإزاحة.

codePointOffset

عدد صحيح يمثل مقدار الإزاحة.

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

عدد من النوع Int.

أمثلة

مثالٌ على استعمال الدالة ()offsetByCodePoints:

fun main(args: Array<String>) {
    val str = "Hsoub"

    print(str.offsetByCodePoints(0, 3)) // 3
    print(str.offsetByCodePoints(2, 3)) // 5
}

مثالٌ آخر على استعمال الدالة ()offsetByCodePoints:

fun main(args: Array<String>) {
    val str = "Hsoub"

    print(str.offsetByCodePoints(0, 6)) // 3
}

يرمي هذا المثال عند تنفيذه الاستثناء IndexOutOfBoundsException:

Exception in thread "main" java.lang.IndexOutOfBoundsException
	at java.base/java.lang.Character.offsetByCodePoints(Character.java:8225)
	at java.base/java.lang.String.offsetByCodePoints(String.java:819)
	at TestKt.main(test.kt:4)

انظر أيضًا

  • الدالة codePointBefore(): تعيد المحرف (Unicode code point) الموجود قبل الفهرس المُحدّد.
  • الدالة codePointAt(): تعيد المحرف (Unicode code point) عند الفهرس المُحدّد. 

مصادر