الفرق بين المراجعتين لصفحة: «Kotlin/kotlin.text/subSequence»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>text.subSequence()‎</code> في لغة Kotlin}}</noinclude> في حال استدعاء الدالة <code>subSequence()...'
 
طلا ملخص تعديل
 
(4 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>text.subSequence()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>subSequence()‎</code> في Kotlin}}</noinclude>
في حال استدعاء  الدالة <code>subSequence()‎</code> عبر [[Kotlin/CharSequence/index|سلسلة حروف]] مع تمرير <code>delimiters</code> كوسيط فستعيد سلسلة (sequence) مكونة من  [[Kotlin/String|السلاسل النصية]] الموجودة حول المُحدِّدات المُتضمّنة في <code>delimiters.</code>
تعيد الدالة <code>subSequence()‎</code> جزءًا محددًا من [[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها.  
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
fun CharSequence.splitToSequence(
fun CharSequence.subSequence(range: IntRange): CharSequence  
    vararg delimiters: String,
    ignoreCase: Boolean = false,
    limit: Int = 0
): Sequence<String>
</syntaxhighlight>في حال استدعاء  الدالة <code>splitToSequence()‎</code> عبر [[Kotlin/CharSequence/index|سلسلة حروف]] مع تمرير [[Kotlin/String|سلسلة نصية]] <code>delimiters</code> كوسيط فستعيد سلسلة (sequence ) مكونة من  [[Kotlin/String|السلاسل النصية]] الموجودة حول المُحدِّدات المُتضمّنة في <code>delimiters.</code> الوسيط <code>limit</code> يحدد الحد الأقصى لعدد  [[Kotlin/String|السلاسل النصية]] في السلسلة المُعادة. والوسيط <code>ignoreCase </code>يحدد ما إذا كانت الدالة ستتجاهل حالة الأحرف (أي لا تفرق بين الحروف الصغيرة والكبيرة).


لتجنب الالتباس عندما تحتوي السلاسل النصية الموجودة في الوسيط المُمرّر <code>delimiters</code> حروفا مشتركة، فإنّ الدالة <code>findAnyOf()</code>‎ تبدأ من بداية تلك السلسلة النصية نحو نهايتها، وتبحث عند كل موضع عن العنصر الأول في <code>delimiters</code>والذي يطابق أحد العناصر  الموجودة في <code>delimiters</code>عند ذلك الموضع.<syntaxhighlight lang="kotlin">
</syntaxhighlight><syntaxhighlight lang="kotlin">
fun CharSequence.split(
inline fun String.subSequence(
     vararg delimiters: Char,  
     start: Int,  
     ignoreCase: Boolean = false,
     end: Int
    limit: Int = 0
): CharSequence
): List<String>
</syntaxhighlight>هذا الشكل من الدالة قد '''أُهمِل'''.
</syntaxhighlight>في حال استدعاء  الدالة <code>splitToSequence()‎</code> عبر [[Kotlin/CharSequence/index|سلسلة حروف]] مع تمرير سلسلة الحروف  <code>delimiters</code> فستعيد سلسلة (sequence ) مكونة من [[Kotlin/String|السلاسل النصية]] الموجودة حول المُحدِّدات المُتضمّنة في <code>delimiters.</code> الوسيط <code>limit</code> يحدد الحد الأقصى لعدد  [[Kotlin/String|السلاسل النصية]] في اللائحة المُعادة. والوسيط <code>ignoreCase </code>يحدد ما إذا كانت الدالة ستتجاهل حالة الأحرف (أي لا تفرق بين الحروف الصغيرة والكبيرة).  


== المعاملات ==
=== <code>range</code> ===
مجال من النوع <code>[[Kotlin/ranges/IntRange|IntRange]]</code> يحدد الجزء المراد جلبه من [[Kotlin/CharSequence/index|سلسلة المحارف]] المعطاة.
=== <code>start</code> ===
عدد صحيح يشير إلى فهرس العنصر الذي يمثل بداية المجال المراد جلبه.
=== <code>end</code> ===
عدد صحيح يشير إلى فهرس العنصر الذي يمثل نهاية المجال المراد جلبه.


==القيم المعادة==
==القيم المعادة==
سلسلة (sequence ) مكونة [[Kotlin/String|سلاسل نصية]].  
تعاد [[Kotlin/CharSequence/index|سلسلة من المحارف]] التي تحوي الجزء المقتطع من سلسلة المحارف المعطاة المحدد بالمجال <code>range</code>.  
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()subSequence</code> مع سلسلة نصية===
مثالٌ على استعمال الدالة <code>()subSequence</code><nowiki/><nowiki/>:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية  [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، ثمَّ تستدعي الدالة  <code>()subSequence</code> عبرها مع تمرير [[Kotlin/String|سلسلة نصية]] <nowiki/>كوسيط، <nowiki/>ثمَّ تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val str = "wiki.hsoub.com"
    val str = "wiki.hsoub.com"
      
 
println(str.splitToSequence(".").toList()) // [wiki, hsoub, com]
     println(str.subSequence(5..9)) // hsoub
}
}
</syntaxhighlight>
</syntaxhighlight>
===انظر أيضًا===
* <code>[[Kotlin/kotlin.text/replaceAfter|replaceAfter()]]‎</code>: تعيد الدالة <code>replaceAfter()‎</code> [[Kotlin/String|سلسلة نصية]] جديدة تساوي [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها مع تعويض الجزء الذي يظهر بعد الوسيط المُمرّر <code>delimiter</code> [[Kotlin/String|بالسلسلة النصية]] <code>replacement</code>. إن لم لم تحتو  [[Kotlin/String|السلسلة النصية]] على <code>delimiter</code> فستعيد <code>missingDelimiterValue</code> والذي يساوي افتراضيا [[Kotlin/String|السلسلة النصية]] الأصلية. 


* <code>[[Kotlin/kotlin.text/removeSuffix|removeSuffix()]]</code>: إن كانت [[Kotlin/String|السلسلة النصية]] أو [[Kotlin/CharSequence/index|سلسلة الحروف]] التي استٌدعيت عبرها الدالة <code>removeSuffix()‎</code> تنتهي باللاحقة <code>suffix</code> فستعيد [[Kotlin/String|سلسلة نصية]] أو [[Kotlin/CharSequence/index|سلسلة حروف]] جديدة مع حذف تلك اللاحقة، وإلا فستعيد [[Kotlin/String|السلسلة النصية]] أو [[Kotlin/CharSequence/index|سلسلة الحروف]] كما هي. 
== انظر أيضًا ==
* <code>[[Kotlin/kotlin.text/asSequence|slice()]]‎</code>: تعيد  الدالة <code>slice()‎</code> [[Kotlin/CharSequence/index|سلسلة حروف]] أو [[Kotlin/String|سلسلة نصية]] جديدة تحتوي الحروف التي تنتمي فهارسها إلى الوسيط المُمرر. 
* الدالة <code>[[Kotlin/CharSequence/subSequence|subSequence()‎‎]]</code>: تجلب جزءًا محددًا يقع في <nowiki/>[[Kotlin/CharSequence|سلسلة الحروف]] التي استٌدعيت معها.
* الدالة <code>[[Kotlin/kotlin.text/substring|substring()‎]]</code>: تعيد جزءًا محددًا من [[Kotlin/String|السلسلة النصية]] أو [[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها.  
*الدالة <code>[[Kotlin/kotlin.text/substringAfter|substringAfter()]]‎</code>: تجلب كل الجزء الواقع بعد أول ظهور <nowiki/>[[Kotlin/Char|لمحرف]] أو لسلسلة نصية معينة في سلسلة نصية.
*الدالة <code>[[Kotlin/kotlin.text/substringBefore|substringBefore()]]‎</code>: تجلب كل الجزء الواقع قبل أول ظهور <nowiki/>[[Kotlin/Char|لمحرف]] أو لسلسلة نصية معينة في سلسلة نصية. .  
*الدالة <code>[[Kotlin/kotlin.text/slice|slice()]]‎</code>: تقتطع جزءًا محدَّدًا من <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]]  التي استُدعيت معها ثمَّ تعيده.
* الدالة <code>[[Kotlin/kotlin.text/replace|replace()‎]]</code>: تبدل محرفًا جديدًا مكان محرف قديم، أو سلسلة نصية جديدة مكان سلسلة نصية قديمة، أو سلسلة نصية جديدة أو ناتج تنفيذ دالة مكان كل ما يطابق تعبير نمطي معين في سلسلة نصية أو سلسلة من المحارف.


==مصادر==
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/split-to-sequence.html الدالة text.subSequence()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/sub-sequence.html صفحة الدالة subSequence()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Text]]

المراجعة الحالية بتاريخ 16:04، 5 سبتمبر 2018

تعيد الدالة subSequence()‎ جزءًا محددًا من سلسلة المحارف التي استُدعيت معها.

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

fun CharSequence.subSequence(range: IntRange): CharSequence
inline fun String.subSequence(
    start: Int, 
    end: Int
): CharSequence

هذا الشكل من الدالة قد أُهمِل.

المعاملات

range

مجال من النوع IntRange يحدد الجزء المراد جلبه من سلسلة المحارف المعطاة.

start

عدد صحيح يشير إلى فهرس العنصر الذي يمثل بداية المجال المراد جلبه.

end

عدد صحيح يشير إلى فهرس العنصر الذي يمثل نهاية المجال المراد جلبه.

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

تعاد سلسلة من المحارف التي تحوي الجزء المقتطع من سلسلة المحارف المعطاة المحدد بالمجال range.

أمثلة

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

fun main(args: Array<String>) {
    val str = "wiki.hsoub.com"

    println(str.subSequence(5..9)) // hsoub
}

انظر أيضًا

  • الدالة subSequence()‎‎: تجلب جزءًا محددًا يقع في سلسلة الحروف التي استٌدعيت معها.
  • الدالة substring()‎: تعيد جزءًا محددًا من السلسلة النصية أو سلسلة المحارف التي استُدعيت معها.  
  • الدالة substringAfter(): تجلب كل الجزء الواقع بعد أول ظهور لمحرف أو لسلسلة نصية معينة في سلسلة نصية.
  • الدالة substringBefore(): تجلب كل الجزء الواقع قبل أول ظهور لمحرف أو لسلسلة نصية معينة في سلسلة نصية. .  
  • الدالة slice(): تقتطع جزءًا محدَّدًا من سلسلة المحارف أو السلسلة النصية  التي استُدعيت معها ثمَّ تعيده.
  • الدالة replace()‎: تبدل محرفًا جديدًا مكان محرف قديم، أو سلسلة نصية جديدة مكان سلسلة نصية قديمة، أو سلسلة نصية جديدة أو ناتج تنفيذ دالة مكان كل ما يطابق تعبير نمطي معين في سلسلة نصية أو سلسلة من المحارف.

مصادر