الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/offsetByCodePoints»
< Kotlin | kotlin.text
ط استبدال النص - 'Kotlin Functions' ب'Kotlin Function' |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code> | <noinclude>{{DISPLAYTITLE: الدالة <code>String.offsetByCodePoints()</code> في Kotlin}}</noinclude> | ||
تعيد الدالة <code>offsetByCodePoints()</code> | تعيد الدالة <code>offsetByCodePoints()</code> فهرس المحرف الموجود في [[Kotlin/String|السلسلة النصية]] التي استٌدعيت معها والذي ينزاح بمقدار محدد بدءًا من عنصر ذي فهرس محدد. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
سطر 7: | سطر 7: | ||
codePointOffset: Int | codePointOffset: Int | ||
): Int | ): Int | ||
</syntaxhighlight> | </syntaxhighlight>منصة التشغيل المطلوبة: '''JVM'''. | ||
وجود الكلمة المفتاحية <code>inline</code> يدل على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة <nowiki/>[[Kotlin/inline functions|الدوال المباشرة (inline functions)]]). | |||
== المعاملات == | |||
=== <code>index</code> === | |||
عدد صحيح يمثل فهرس العنصر الذي ستبدأ عنده عملية الإزاحة. | |||
=== <code>codePointOffset</code> === | |||
عدد صحيح يمثل مقدار الإزاحة. | |||
==القيم المعادة== | ==القيم المعادة== | ||
عدد من النوع <code>Int</code>. | عدد من النوع <code>Int</code>. | ||
==أمثلة== | ==أمثلة== | ||
مثالٌ على استعمال الدالة <code>()offsetByCodePoints</code><nowiki/>:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | |||
val str = "Hsoub" | |||
print(str.offsetByCodePoints(0, 3)) // 3 | |||
print(str.offsetByCodePoints(2, 3)) // 5 | |||
} | |||
</syntaxhighlight>مثالٌ آخر على استعمال الدالة <code>()offsetByCodePoints</code>:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val str = "Hsoub" | val str = "Hsoub" | ||
print(str.offsetByCodePoints(0, | print(str.offsetByCodePoints(0, 6)) // 3 | ||
} | } | ||
</syntaxhighlight>يرمي هذا المثال عند تنفيذه الاستثناء <code>IndexOutOfBoundsException</code>:<syntaxhighlight lang="text"> | |||
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) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | |||
* <code>[[Kotlin/kotlin.text/codePointBefore|codePointBefore()]]</code>: تعيد كود اليونيكود (Unicode code point) للحرف الموجود قبل الفهرس المُحدّد. | * <code>[[Kotlin/kotlin.text/codePointBefore|codePointBefore()]]</code>: تعيد كود اليونيكود (Unicode code point) للحرف الموجود قبل الفهرس المُحدّد. | ||
سطر 27: | سطر 49: | ||
==مصادر== | ==مصادر== | ||
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/offset-by-code-points.html الدالة | *[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/offset-by-code-points.html صفحة الدالة String.offsetByCodePoints() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Function]] | [[تصنيف:Kotlin Function]] | ||
[[تصنيف:Kotlin Text]] | |||
[[تصنيف:Kotlin CharSequence]] |
مراجعة 15:47، 4 سبتمبر 2018
تعيد الدالة 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) للحرف الموجود قبل الفهرس المُحدّد.
associateByTo()
: تعيد قاموسا متغيرا (mutable map) يحتوي أزواجًا من "مفتاح/قيمة"، إذ القيمة هي عناصر سلسلة الحروف التي استُدعيت عبرها، والمفتاح هو الناتج المعاد من تمرير تلك العناصر إلى الدالةkeySelector
.asSequence()
: تنشئ كائنًا من الصنفSequence
والذي يُغلّف سلسلة الحروف التي استُدعيت عبرها، لأجل استعمالها في الحلقات التكرارية.