الفرق بين المراجعتين ل"Kotlin/kotlin.text/filter"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>text.filter()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة <code>filter()‎</code> القيمة <code>...')
 
ط
 
(4 مراجعات متوسطة بواسطة 3 مستخدمين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: الدالة <code>text.filter()‎</code> في لغة Kotlin}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: الدالة <code>filter()‎</code> في Kotlin}}</noinclude>
تعيد الدالة <code>filter()‎</code> القيمة <code>true</code> إن كانت [[Kotlin/CharSequence/index|سلسلة الحروف]] أو [[Kotlin/String|السلسلة النصية]] التي استُدعيت عبرها تنتهي بالحرف أو اللاحقة المُمرّرة. الوسيط <code>ignoreCase</code> يحدد ما إذا كانت الدالة ستتجاهل حالة الحروف.
+
ترشِّح الدالة <code>filter()‎</code> محارف <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] المعطاة بناءً على قيمة المحرف التي تحقِّق شرطًا معيَّنًا.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="kotlin">
 
<syntaxhighlight lang="kotlin">
fun String.endsWith(
+
inline fun CharSequence.filter(
     suffix: String,
+
     predicate: (Char) -> Boolean
    ignoreCase: Boolean = false
+
): CharSequence
): Boolean
 
  
fun CharSequence.endsWith(
+
inline fun String.filter(
     char: Char,
+
     predicate: (Char) -> Boolean
    ignoreCase: Boolean = false
+
): String
): Boolean
+
</syntaxhighlight>وجود الكلمة المفتاحية <code>inline</code> يدل على أن هذه الدالة مباشرة (لمزيد من التفاصيل، راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة]]).
 +
 
 +
== المعاملات ==
 +
 
 +
=== <code>predicate</code> ===
 +
دالةٌ تمثل الشرط المراد تطبيقه على كل محرف من محارف [[Kotlin/String|السلسلة النصية]] أو [[Kotlin/CharSequence/index|سلسلة المحارف]] المعطاة. يمرر إلى هذه الدالة محرفٌ وتعيد قيمة منطقية.
  
fun CharSequence.endsWith(
 
    suffix: CharSequence,
 
    ignoreCase: Boolean = false
 
): Boolean
 
</syntaxhighlight>
 
 
==القيم المعادة==
 
==القيم المعادة==
قيمة منطقية.  
+
تُعاد <nowiki/>[[Kotlin/CharSequence/index|سلسلة من المحارف]] أو [[Kotlin/String|سلسلة نصية]] تحوي المحارف التي أعيدت القيمة <code>true</code> معها عند تطبيق الدالة <code>predicate</code> عليها. 
 
==أمثلة==
 
==أمثلة==
===استخدام الدالة <code>()filter</code> مع سلسلة نصية===
+
مثالٌ على استعمال الدالة <code>()filter</code>:<syntaxhighlight lang="kotlin">
تعرِّف الشيفرة الآتية  [[Kotlin/String|سلسلة نصية]] باسم <code>str</code>، ثمَّ تستدعي الدالة  <code>()filter</code> عبرها مع تمرير  [[Kotlin/String|سلسلة نصية]] كوسيط، <nowiki/>ثمَّ تطبع الناتج:<syntaxhighlight lang="kotlin">
 
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val str = "wiki Hsoub"  
+
    val str = "abcdefabc"
      
+
 
println(str.endsWith("abc")) //  false
+
     println(str.filter { it < 'd' }) // abcabc
println(str.endsWith("soub")) // true
 
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
* <code>[[Kotlin/kotlin.text/elementAt|elementAt()]]‎</code>: تعيد الحرف الموجود في الفهرس المُحدّد في سلسلة الحروف التي استُدعيت عبرها، في حال كان الفهرس خارج الحدود فستطلق الاستثناء <code>IndexOutOfBoundsException</code>. 
+
*الدالة [[Kotlin/kotlin.text/filterTo|<code>filterTo()</code>‎]]: تشبه الدالة <code>filter()</code>‎ تمامًا باستثناء أنها تضيف الناتج إلى كائن موجود مسبقًا بدلًا من أن تعيده.
 
+
*الدالة <code>[[Kotlin/kotlin.text/filterIndexed|filterIndexed()]]‎</code>: ترشِّح محارف <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] المعطاة بناءً على فهرس المحرف وقيمته. 
* <code>[[Kotlin/kotlin.text/compareTo|compareTo()]]‎</code>: تقارن بين سلسلتين نصيتين.
+
*الدالة <code>[[Kotlin/kotlin.text/filterIndexedTo|filterIndexedTo()]]‎</code>: تشبه الدالة [[Kotlin/kotlin.text/filterIndexed|<code>filterIndexed()</code>‎]] تمامًا باستثناء أنها تضيف الناتج إلى كائن موجود مسبقًا بدلًا من أن تعيده.
 +
*الدالة <code>[[Kotlin/kotlin.text/filterNot|filterNot()‎]]</code>: ترشِّح محارف <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] أو [[Kotlin/String|السلسلة النصية]] المعطاة بناءً على قيمة المحرف التي '''لم''' تحقِّق شرطًا معيَّنًا.
 +
*الدالة [[Kotlin/kotlin.text/filterNotTo|<code>filterNotTo()</code>]]: تشبه الدالة [[Kotlin/kotlin.text/filterNot|<code>filterNot()</code>‎]] تمامًا باستثناء أنها تضيف الناتج إلى كائن موجود مسبقًا بدلًا من أن تعيده.
  
 +
* الدالة <code>[[Kotlin/kotlin.text/find|find()‎]]</code>: تبحث على محرف يحقق شرطًا محدَّدًا ضمن محارف <nowiki/>[[Kotlin/CharSequence|السلسلة]] التي استُدعيت معها ثمَّ تعيد أول ظهور له.  
 +
* الدالة <code>[[Kotlin/kotlin.text/dropWhile|dropWhile()‎]]</code>: تُزيِل المحارف الأولى المحققة لشرط معين من محارف السلسلة النصية أو <nowiki/>[[Kotlin/CharSequence/index|سلسلة المحارف]] التي استُدعيت معها.
 
==مصادر==
 
==مصادر==
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/ends-with.html الدالة text.filter()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[http://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/filter.html صفحة الدالة filter()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
[[تصنيف:Kotlin Functions]]
+
[[تصنيف:Kotlin Function]]
 +
[[تصنيف:Kotlin Text]]

المراجعة الحالية بتاريخ 09:02، 3 سبتمبر 2018

ترشِّح الدالة filter()‎ محارف سلسلة المحارف أو السلسلة النصية المعطاة بناءً على قيمة المحرف التي تحقِّق شرطًا معيَّنًا.

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

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

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

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

المعاملات

predicate

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

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

تُعاد سلسلة من المحارف أو سلسلة نصية تحوي المحارف التي أعيدت القيمة true معها عند تطبيق الدالة predicate عليها. 

أمثلة

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

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

    println(str.filter { it < 'd' }) // abcabc
}

انظر أيضًا

  • الدالة find()‎: تبحث على محرف يحقق شرطًا محدَّدًا ضمن محارف السلسلة التي استُدعيت معها ثمَّ تعيد أول ظهور له.  
  • الدالة dropWhile()‎: تُزيِل المحارف الأولى المحققة لشرط معين من محارف السلسلة النصية أو سلسلة المحارف التي استُدعيت معها.

مصادر