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

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>text.takeWhile()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة <code>takeWhile()‎</code> جزءًا...'
 
مراجعة وتدقيق.
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>text.takeWhile()‎</code> في لغة Kotlin}}</noinclude>
<noinclude>{{DISPLAYTITLE: الدالة <code>takeWhile()‎</code> في Kotlin}}</noinclude>
تعيد  الدالة <code>takeWhile()‎</code> جزءًا من [[Kotlin/CharSequence/index|سلسلة الحروف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها والذي يحتوي أول <code>n</code> حرفًا منها، أو تعيدها كاملة إن كان طولها أصغر من العدد <code>n</code>.   
تجلب الدالة <code>takeWhile()‎</code> أول عناصر محققة لشرطٍ محدَّدٍ من <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها.   
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="kotlin">
<syntaxhighlight lang="kotlin">
fun CharSequence.take(n: Int): CharSequence  
inline fun CharSequence.takeWhile(
    predicate: (Char) -> Boolean
): CharSequence
inline fun String.takeWhile(
    predicate: (Char) -> Boolean
): String
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> التي تدل على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة <nowiki/>[[Kotlin/inline functions|الدوال المباشرة (inline functions)]]).


fun String.take(n: Int): String
== المعاملات ==


=== <code>predicate</code> ===
دالةٌ تطبق على كل محرف من محارف [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] المعطاة. يمرر إليها كل محرف على حدة ثم تعيد قيمة منطقية مقابلة له.


</syntaxhighlight>
==القيم المعادة==
==القيم المعادة==
[[Kotlin/String|سلسلة نصية]] أو [[Kotlin/CharSequence/index|سلسلة حروف]].  
تعاد [[Kotlin/CharSequence/index|سلسلة من المحارف]] أو [[Kotlin/String|سلسلة نصية]] تحوي العناصر الأولى المحققة للشرط <code>predicate</code> المعطى من <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] المعطاة.  
==أمثلة==
==أمثلة==
===استخدام الدالة <code>()takeWhile</code> مع سلسلة نصية===
مثالٌ على استعمال الدالة <code>()takeWhile</code><nowiki/>:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية  [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، ثمَّ تستدعي الدالة  <code>()takeWhile</code> عبرها مع تمرير عدد كوسيط، <nowiki/>ثمَّ تطبع الناتج:<syntaxhighlight lang="kotlin">
fun main(args: Array<String>) {
fun main(args: Array<String>) {
val str = "wiki.hsoub.com"
    val str = "Wiki.Wsoub.Wom"
      
 
println(str.take (8)) // wiki.hso
     println(str.takeWhile { it.isLetter() }) // Wiki
println(str.take (100)) // wiki.hsoub.com
    println(str.takeWhile { it.isUpperCase() }) // W
}
}
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
==انظر أيضًا==
* <code>[[Kotlin/kotlin.text/takeLast|takeLast()]]</code>: تعيد  الدالة <code>takeLast()‎</code> جزءًا من [[Kotlin/CharSequence/index|سلسلة الحروف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها والذي يحتوي آخر <code>n</code> حرفًا منها، أو تعيدها كاملة إن كان طولها أصغر من العدد <code>n</code>. 
*الدالة <code>[[Kotlin/kotlin.text/take|take()]]</code>: تجلب أول <code>n</code> محرف من [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها وتضعها في قائمة.  
* <code>[[Kotlin/kotlin.text/substringBefore|substringBefore()]]‎</code>: تعيد  الدالة <code>substringBefore()‎</code> جزءًا من [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها والمُتواجد قبل أول ظهور للمُحدِّد <code>delimiter،</code> إن لم تكن [[Kotlin/String|السلسلة النصية]] الأصلية تحتوي <code>delimiter</code>، فستعيد القيمة المُمرّرة <code>missingDelimiterValue</code>، والتي قيمتها الافتراضية هي [[Kotlin/String|السلسلة النصية]] الأصلية. 
*الدالة <code>[[Kotlin/kotlin.text/takeLast|takeLast()]]‎</code>: تجلب آخر <code>n</code> محرف من [[Kotlin/CharSequence|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت معها وتضعها في قائمة.
 
*الدالة <code>[[Kotlin/kotlin.text/takeLastWhile|takeLastWhile()‎]]</code>: تجلب آخر عناصر محققة لشرطٍ محدَّدٍ من <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] أو [[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/substring|substring()]]</code>: تعيد جزءًا محددًا من السلسلة النصية أو <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها.
* <code>[[Kotlin/kotlin.text/slice|slice()]]‎</code>: تعيد  الدالة <code>slice()‎</code> [[Kotlin/CharSequence/index|سلسلة حروف]] أو [[Kotlin/String|سلسلة نصية]] جديدة تحتوي الحروف التي تنتمي فهارسها إلى الوسيط المُمرر. 
* الدالة <code>[[Kotlin/kotlin.text/slice|slice()]]‎</code>: تقتطع جزءًا محدَّدًا من <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] أو السلسلة النصية  التي استُدعيت معها ثمَّ تعيده.
 
* الدالة <code>[[Kotlin/kotlin.text/split|split()‎]]</code>: تقتطع المحارف الموجودة بين الأجزاء المتطابقة مع <nowiki/>[[Kotlin/kotlin.text/Regex|تعبير نمطي]] معين أو بين سلاسل نصية أو محارف معينة في <nowiki/>[[Kotlin/CharSequence|سلسلة المحارف]] الممررة إليها وتعيدها في قائمة.
* الدالة <code>[[Kotlin/kotlin.text/substringAfter|substringAfter()]]‎</code>: تجلب كل الجزء الواقع بعد أول ظهور <nowiki/>[[Kotlin/Char|لمحرف]] أو لسلسلة نصية معينة في سلسلة نصية.
==مصادر==
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/take.html الدالة text.takeWhile()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/take-while.html صفحة الدالة takeWhile()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
[[تصنيف:Kotlin Function]]
[[تصنيف:Kotlin Text]]

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

تجلب الدالة takeWhile()‎ أول عناصر محققة لشرطٍ محدَّدٍ من سلسلة المحارف أو السلسلة النصية التي استُدعيت معها.

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

inline fun CharSequence.takeWhile(
    predicate: (Char) -> Boolean
): CharSequence
inline fun String.takeWhile(
    predicate: (Char) -> Boolean
): String

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

المعاملات

predicate

دالةٌ تطبق على كل محرف من محارف سلسلة المحارف أو السلسلة النصية المعطاة. يمرر إليها كل محرف على حدة ثم تعيد قيمة منطقية مقابلة له.

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

تعاد سلسلة من المحارف أو سلسلة نصية تحوي العناصر الأولى المحققة للشرط predicate المعطى من سلسلة المحارف أو السلسلة النصية المعطاة.

أمثلة

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

fun main(args: Array<String>) {
    val str = "Wiki.Wsoub.Wom"

    println(str.takeWhile { it.isLetter() }) // Wiki
    println(str.takeWhile { it.isUpperCase() }) // W
}

انظر أيضًا

مصادر