الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/replaceRange»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>text.replaceRange()</code> في لغة Kotlin}}</noinclude> يختلف سلوك الدالة <code>replaceRange()</co...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: الدالة <code>text.replaceRange()</code> في لغة Kotlin}}</noinclude> | <noinclude>{{DISPLAYTITLE: الدالة <code>text.replaceRange()</code> في لغة Kotlin}}</noinclude> | ||
يختلف سلوك الدالة <code>replaceRange()</code> بحسب أنواع الوسائط المُمررة (انظر فقرة [[Kotlin/kotlin.text/ | يختلف سلوك الدالة <code>replaceRange()</code> بحسب أنواع الوسائط المُمررة (انظر فقرة [[Kotlin/kotlin.text/replaceRange#.D8.A7.D9.84.D8.A8.D9.86.D9.8A.D8.A9 .D8.A7.D9.84.D8.B9.D8.A7.D9.85.D8.A9|البنيةالعامة]]). | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="kotlin"> | <syntaxhighlight lang="kotlin"> | ||
fun CharSequence.replaceRange( | |||
startIndex: Int, | |||
endIndex: Int, | |||
replacement: CharSequence | |||
): CharSequence | |||
</syntaxhighlight>في حال استدعاء الدالة <code>replaceRange()</code> عبر [[Kotlin/CharSequence/index|سلسلة حروف]] مع تمرير عددين <code>startIndex</code> و <code>endIndex</code> و<nowiki/>[[Kotlin/CharSequence/index|سلسلة حروف]] <code>replacement</code> كوسائط فستعيد [[Kotlin/CharSequence/index|سلسلة حروف]] جديدة مع تعويض الحروف التي تنتمي فهارسها إلى المجال المحدد بـ <code>startIndex</code> و <code>endIndex</code> [[Kotlin/CharSequence/index|بسلسلة الحروف]] <code>replacement</code>.<syntaxhighlight lang="kotlin"> | |||
inline fun String.replaceRange( | |||
startIndex: Int, | |||
endIndex: Int, | |||
replacement: CharSequence | |||
): String | ): String | ||
</syntaxhighlight>في حال استدعاء الدالة <code>replaceRange()</code> عبر [[Kotlin/String|سلسلة نصية]] مع تمرير | </syntaxhighlight>في حال استدعاء الدالة <code>replaceRange()</code> عبر [[Kotlin/String|سلسلة نصية]] مع تمرير عددين <code>startIndex</code> و <code>endIndex</code> و<nowiki/>[[Kotlin/CharSequence/index|سلسلة حروف]] <code>replacement</code> كوسائط فستعيد [[Kotlin/String|سلسلة نصية]] جديدة مع تعويض الحروف التي تنتمي فهارسها إلى المجال المحدد بـ <code>startIndex</code> و <code>endIndex</code> [[Kotlin/CharSequence/index|بسلسلة الحروف]] <code>replacement</code>. <syntaxhighlight lang="kotlin"> | ||
fun CharSequence.replaceRange( | |||
range: IntRange, | |||
replacement: CharSequence | |||
): CharSequence | |||
</syntaxhighlight>في حال استدعاء الدالة <code>replaceRange()</code> عبر [[Kotlin/CharSequence/index|سلسلة حروف]] مع تمرير مجال <code>range</code> و<nowiki/>[[Kotlin/CharSequence/index|سلسلة حروف]] <code>replacement</code> كوسيطين فستعيد [[Kotlin/CharSequence/index|سلسلة حروف]] جديدة مع تعويض الحروف التي تنتمي فهارسها إلى المجال <code>range</code> [[Kotlin/CharSequence/index|بسلسلة الحروف]] <code>replacement</code>. نهاية المجال <code>range</code> مُتضمّنة في الجزء الذي سيُستبدل.<nowiki/><syntaxhighlight lang="kotlin"> | |||
replacement: | |||
): | |||
</syntaxhighlight>في حال استدعاء الدالة <code>replaceRange()</code> عبر [[Kotlin/CharSequence/index|سلسلة حروف]] مع تمرير | |||
inline fun CharSequence.replace( | inline fun CharSequence.replace( | ||
regex: Regex, | regex: Regex, | ||
noinline transform: (MatchResult) -> CharSequence | noinline transform: (MatchResult) -> CharSequence | ||
): String | ): String | ||
</syntaxhighlight>في حال استدعاء الدالة <code>replaceRange()</code> عبر [[Kotlin/ | </syntaxhighlight>في حال استدعاء الدالة <code>replaceRange()</code> عبر [[Kotlin/String|سلسلة نصية]] مع تمرير مجال <code>range</code> و<nowiki/>[[Kotlin/CharSequence/index|سلسلة حروف]] <code>replacement</code> كوسيطين فستعيد [[Kotlin/String|سلسلة نصية]] جديدة مع تعويض الحروف التي تنتمي فهارسها إلى المجال <code>range</code> [[Kotlin/CharSequence/index|بسلسلة الحروف]] <code>replacement</code>. نهاية المجال <code>range</code> مُتضمّنة في الجزء الذي سيُستبدل. | ||
يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]]. | |||
==القيم المعادة== | ==القيم المعادة== | ||
[[Kotlin/String|سلسلة نصية]]. | [[Kotlin/String|سلسلة نصية]] أو [[Kotlin/CharSequence/index|سلسلة حروف]]. | ||
==أمثلة== | ==أمثلة== | ||
===استخدام الدالة <code>()replaceRange</code> مع سلسلة نصية=== | ===استخدام الدالة <code>()replaceRange</code> مع تمرير ثلاث وسائط=== | ||
تعرِّف الشيفرة الآتية [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، ثمَّ تستدعي الدالة <code>()replaceRange</code> عبرها مع | تعرِّف الشيفرة الآتية [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، ثمَّ تستدعي الدالة <code>()replaceRange</code> عبرها مع تمرير عددين و<nowiki/>[[Kotlin/String|سلسلة نصية]] كوسائط، <nowiki/>ثمَّ تطبع الناتج:<syntaxhighlight lang="kotlin"> | ||
fun main(args: Array<String>) { | |||
val str = "Hsoub wiki" | |||
println( str.replaceRange (6,10,"academy") ) // Hsoub academy | |||
} | |||
</syntaxhighlight> | |||
===استخدام الدالة <code>()replaceRange</code> مع تمرير وسيطين=== | |||
تعرِّف الشيفرة الآتية [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، ثمَّ تستدعي الدالة <code>()replaceRange</code> عبرها مع تمرير مجال و<nowiki/>[[Kotlin/String|سلسلة نصية]] كوسيطين، ثمَّ تطبع الناتج:<syntaxhighlight lang="kotlin"> | |||
fun main(args: Array<String>) { | fun main(args: Array<String>) { | ||
val str = " | val str = "Hsoub wiki" | ||
println( str. | println( str.replaceRange (6..9,"academy") ) // Hsoub academy | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
سطر 47: | سطر 54: | ||
==مصادر== | ==مصادر== | ||
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/replace.html الدالة text.replaceRange() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | *[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/replace-range.html الدالة text.replaceRange() في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.] | ||
[[تصنيف:Kotlin]] | [[تصنيف:Kotlin]] | ||
[[تصنيف:Kotlin Functions]] | [[تصنيف:Kotlin Functions]] |
مراجعة 10:28، 12 يوليو 2018
يختلف سلوك الدالة replaceRange()
بحسب أنواع الوسائط المُمررة (انظر فقرة البنيةالعامة).
البنية العامة
fun CharSequence.replaceRange(
startIndex: Int,
endIndex: Int,
replacement: CharSequence
): CharSequence
في حال استدعاء الدالة replaceRange()
عبر سلسلة حروف مع تمرير عددين startIndex
و endIndex
وسلسلة حروف replacement
كوسائط فستعيد سلسلة حروف جديدة مع تعويض الحروف التي تنتمي فهارسها إلى المجال المحدد بـ startIndex
و endIndex
بسلسلة الحروف replacement
.
inline fun String.replaceRange(
startIndex: Int,
endIndex: Int,
replacement: CharSequence
): String
في حال استدعاء الدالة replaceRange()
عبر سلسلة نصية مع تمرير عددين startIndex
و endIndex
وسلسلة حروف replacement
كوسائط فستعيد سلسلة نصية جديدة مع تعويض الحروف التي تنتمي فهارسها إلى المجال المحدد بـ startIndex
و endIndex
بسلسلة الحروف replacement
.
fun CharSequence.replaceRange(
range: IntRange,
replacement: CharSequence
): CharSequence
في حال استدعاء الدالة replaceRange()
عبر سلسلة حروف مع تمرير مجال range
وسلسلة حروف replacement
كوسيطين فستعيد سلسلة حروف جديدة مع تعويض الحروف التي تنتمي فهارسها إلى المجال range
بسلسلة الحروف replacement
. نهاية المجال range
مُتضمّنة في الجزء الذي سيُستبدل.
inline fun CharSequence.replace(
regex: Regex,
noinline transform: (MatchResult) -> CharSequence
): String
في حال استدعاء الدالة replaceRange()
عبر سلسلة نصية مع تمرير مجال range
وسلسلة حروف replacement
كوسيطين فستعيد سلسلة نصية جديدة مع تعويض الحروف التي تنتمي فهارسها إلى المجال range
بسلسلة الحروف replacement
. نهاية المجال range
مُتضمّنة في الجزء الذي سيُستبدل.
يُلاحَظ وجود الكلمة المفتاحية inline
للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع توثيق الدوال المباشرة (inline functions).
القيم المعادة
سلسلة نصية أو سلسلة حروف.
أمثلة
استخدام الدالة ()replaceRange
مع تمرير ثلاث وسائط
تعرِّف الشيفرة الآتية سلسلة نصية باسم str
، ثمَّ تستدعي الدالة ()replaceRange
عبرها مع تمرير عددين وسلسلة نصية كوسائط، ثمَّ تطبع الناتج:
fun main(args: Array<String>) {
val str = "Hsoub wiki"
println( str.replaceRange (6,10,"academy") ) // Hsoub academy
}
استخدام الدالة ()replaceRange
مع تمرير وسيطين
تعرِّف الشيفرة الآتية سلسلة نصية باسم str
، ثمَّ تستدعي الدالة ()replaceRange
عبرها مع تمرير مجال وسلسلة نصية كوسيطين، ثمَّ تطبع الناتج:
fun main(args: Array<String>) {
val str = "Hsoub wiki"
println( str.replaceRange (6..9,"academy") ) // Hsoub academy
}
انظر أيضًا
replaceAfter()
: تعيد الدالةreplaceAfter()
سلسلة نصية جديدة تساوي السلسلة النصية التي استُدعيت عبرها مع تعويض الجزء الذي يظهر بعد الوسيط المُمرّرdelimiter
بالسلسلة النصيةreplacement
. إن لم لم تحتو السلسلة النصية علىdelimiter
فستعيدmissingDelimiterValue
والذي يساوي افتراضيا السلسلة النصية الأصلية.
removeSuffix()
: إن كانت السلسلة النصية أو سلسلة الحروف التي استٌدعيت عبرها الدالةremoveSuffix()
تنتهي باللاحقةsuffix
فستعيد سلسلة نصية أو سلسلة حروف جديدة مع حذف تلك اللاحقة، وإلا فستعيد السلسلة النصية أو سلسلة الحروف كما هي.asSequence()
: تنشئ كائنًا من الصنفSequence
والذي يُغلّف سلسلة الحروف التي استُدعيت عبرها، لأجل استعمالها في الحلقات التكرارية.