الفرق بين المراجعتين ل"Kotlin/collections/max"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>max()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>max()‎</code> Kotlin/collections/List|لا...')
 
سطر 1: سطر 1:
 
<noinclude>{{DISPLAYTITLE: الدالة <code>max()‎</code> في لغة Kotlin}}</noinclude>
 
<noinclude>{{DISPLAYTITLE: الدالة <code>max()‎</code> في لغة Kotlin}}</noinclude>
تعيد الدالة<code>max()‎</code> [[Kotlin/collections/List|لائحة]] تضم ناتج تطبيق الدالة <code>transform()‎</code> المُمرّرة إليها على عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]]  التي استُدعيت عبرها، وفي حال استدعاء الدالة <code>map()‎</code> على [[Kotlin/collections/Map|قاموس]] فستعيد [[Kotlin/collections/List|لائحة]] تضم ناتج تطبيق الدالة <code>transform()‎</code> على مداخل (entries)  [[Kotlin/collections/Map|القاموس]].
+
تعيد الدالة<code>max()‎</code> أكبر عنصر في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]]  التي استُدعيت عبرها، أو <code>null</code> إن كانت فارغة.
  
 
==البنية العامة==
 
==البنية العامة==
يمكن استدعاء الدالة<code>max()‎</code> على [[Kotlin/Array|المصفوفات]].<syntaxhighlight lang="kotlin">
+
<syntaxhighlight lang="kotlin">
inline fun <T, R> Array<out T>.map(
+
fun Array<out Double>.max(): Double?
    transform: (T) -> R
+
fun Array<out Float>.max(): Float?
): List<R>
+
fun FloatArray.max(): Float?
inline fun <R> ByteArray.map(transform: (Byte) -> R): List<R>
+
fun DoubleArray.max(): Double?
inline fun <R> ShortArray.map(
+
fun Iterable<Double>.max(): Double?
    transform: (Short) -> R
+
fun Iterable<Float>.max(): Float?
): List<R>
+
</syntaxhighlight>'''بيئة التشغيل: Kotlin 1.1'''
inline fun <R> IntArray.map(transform: (Int) -> R): List<R>
 
inline fun <R> LongArray.map(transform: (Long) -> R): List<R>
 
inline fun <R> FloatArray.map(
 
    transform: (Float) -> R
 
): List<R>
 
inline fun <R> DoubleArray.map(
 
    transform: (Double) -> R
 
): List<R>
 
inline fun <R> BooleanArray.map(
 
    transform: (Boolean) -> R
 
): List<R>
 
inline fun <R> CharArray.map(transform: (Char) -> R): List<R>
 
  
</syntaxhighlight>يمكن استدعاء الدالة<code>map()‎</code> على [[Kotlin/collections|المجموعات]].<syntaxhighlight lang="kotlin">
+
إن كان أيّ من العناصر  يساوي <code>NaN</code> فستعيد الدالة<code>max()‎</code> القيمة <code>NaN</code>: <syntaxhighlight lang="kotlin">
inline fun <T, R> Iterable<T>.map(
+
fun <T : Comparable<T>> Array<out T>.max(): T?
    transform: (T) -> R
+
fun ByteArray.max(): Byte?
): List<R>
+
fun ShortArray.max(): Short?
</syntaxhighlight>يمكن استدعاء الدالة<code>map()‎</code> على [[Kotlin/Map|القواميس]].<syntaxhighlight lang="kotlin">
+
fun IntArray.max(): Int?
inline fun <K, V, R> Map<out K, V>.map(
+
fun LongArray.max(): Long?
    transform: (Entry<K, V>) -> R
+
fun CharArray.max(): Char?
): List<R>
+
fun <T : Comparable<T>> Iterable<T>.max(): T?
</syntaxhighlight>يُلاحَظ وجود الكلمة المفتاحية <code>inline</code> للدلالة على أن هذه الدالة مباشرة، وللمزيد من التفاصيل راجع <nowiki/>[[Kotlin/inline functions|توثيق الدوال المباشرة (inline functions)]].
+
</syntaxhighlight>
 
==القيم المٌعادة==
 
==القيم المٌعادة==
تعيد الدالة<code>max()‎</code> [[Kotlin/collections/List|لائحة]] تضم ناتج تطبيق الدالة المُمرّرة <code>transform()‎</code> المُمرّرة إليها على عناصر [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]]  التي استُدعيت عبرها، وفي حال استدعاء الدالة <code>max()‎</code> على [[Kotlin/collections/Map|قاموس]] فستعيد [[Kotlin/collections/List|لائحة]] تضم ناتج تطبيق الدالة <code>transform()‎</code> على مداخل (entries)  [[Kotlin/collections/Map|القاموس]].
+
كبر عنصر في [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]]  التي استُدعيت عبرها، أو <code>null</code> إن كانت فارغة.
 
==أمثلة==
 
==أمثلة==
 
===استخدام الدالة <code>()max</code> مع القواميس===
 
===استخدام الدالة <code>()max</code> مع القواميس===
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Map|قاموسًا]] باسم <code>m</code>مكونًا من ثلاثة أزواج باستخدام الدالة <code>()mapOf</code>، ثم تُعرّف الدالة <code>()func</code>، ثم تستخدم الدالة <code>()max</code> بتمرير <code>()func</code> كمعامل<nowiki/>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
+
تعرف الشيفرة الآتية <nowiki/>[[Kotlin/Array|مصفوفة]]<nowiki/> باسم <code>array</code>مكونة من ستة أعداد باستخدام الدالة <code>()arrayOf</code>، ثم تستدعي الدالة <code>()max</code> عبر <code>array</code>   للحصول على أكبر عدد فيها<nowiki/>، ثم تطبع الناتج:<syntaxhighlight lang="kotlin">
 
fun main(args: Array<String>) {
 
fun main(args: Array<String>) {
val m = mapOf("x" to 2, "y" to 6, "z" to 5)
+
val array = arrayOf(0, 2, 2, 4, 7, 5)
val func : (Int) -> Array<Int> = { arrayOf(it)}
+
       
 
+
println(array.max())   // 7
println(m.map { (a, b) -> listOf(a) }) // [[x], [y], [z]]
 
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
سطر 48: سطر 35:
 
*<code>[[Kotlin/collections/mapIndexed|mapIndexed()]]</code>‎: تضيف إلى [[Kotlin/collections/List|اللائحة]] المُمرّرة إليها ناتج تطبيق الدالة <code>transform()‎</code> المُمرّرة إليها على عناصر  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/collections/Map|القاموس]] وفهارسها.
 
*<code>[[Kotlin/collections/mapIndexed|mapIndexed()]]</code>‎: تضيف إلى [[Kotlin/collections/List|اللائحة]] المُمرّرة إليها ناتج تطبيق الدالة <code>transform()‎</code> المُمرّرة إليها على عناصر  [[Kotlin/Array|المصفوفة]] أو [[Kotlin/collections|المجموعة]] أو [[Kotlin/collections/Map|القاموس]] وفهارسها.
 
==مصادر==
 
==مصادر==
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/map.html الدالة  max()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
+
*[https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/max.html الدالة  max()‎ في التوثيق الرسميّ للمكتبة القياسيّة في لغة Kotlin.]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin]]
 
[[تصنيف:Kotlin Functions]]
 
[[تصنيف:Kotlin Functions]]

مراجعة 12:12، 31 مايو 2018

تعيد الدالةmax()‎ أكبر عنصر في المصفوفة أو المجموعة التي استُدعيت عبرها، أو null إن كانت فارغة.

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

fun Array<out Double>.max(): Double? 
fun Array<out Float>.max(): Float? 
fun FloatArray.max(): Float? 
fun DoubleArray.max(): Double?
fun Iterable<Double>.max(): Double?
fun Iterable<Float>.max(): Float?

بيئة التشغيل: Kotlin 1.1 إن كان أيّ من العناصر يساوي NaN فستعيد الدالةmax()‎ القيمة NaN:

fun <T : Comparable<T>> Array<out T>.max(): T? 
fun ByteArray.max(): Byte? 
fun ShortArray.max(): Short? 
fun IntArray.max(): Int? 
fun LongArray.max(): Long? 
fun CharArray.max(): Char? 
fun <T : Comparable<T>> Iterable<T>.max(): T?

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

كبر عنصر في المصفوفة أو المجموعة التي استُدعيت عبرها، أو null إن كانت فارغة.

أمثلة

استخدام الدالة ()max مع القواميس

تعرف الشيفرة الآتية مصفوفة باسم arrayمكونة من ستة أعداد باستخدام الدالة ()arrayOf، ثم تستدعي الدالة ()max عبر array للحصول على أكبر عدد فيها، ثم تطبع الناتج:

fun main(args: Array<String>) {
val array = arrayOf(0, 2, 2, 4, 7, 5)
        
println(array.max())   // 7
}

انظر أيضًا

مصادر