الدالة drop()‎ في لغة Kotlin

من موسوعة حسوب
مراجعة 17:47، 13 مايو 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: الدالة <code>drop()‎</code> في لغة Kotlin}}</noinclude> تعيد الدالة<code>drop()‎</code> لائحة ت...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

تعيد الدالةdrop()‎ لائحة تحتوي عناصر المصفوفة أو المجموعة التي استُدعيت عبرها والتي تختلف نتائج تطبيق الدالة (selector) عليها، ومع احترام ظهور تلك العناصر في المصفوفة أوالمجموعة.

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

استدعاء الدالة distinctBy()‎ عبر مصفوفة.

inline fun <T, K> Array<out T>.distinctBy(
    selector: (T) -> K
): List<T> 
inline fun <K> ByteArray.distinctBy(
    selector: (Byte) -> K
): List<Byte> 
inline fun <K> ShortArray.distinctBy(
    selector: (Short) -> K
): List<Short> 
inline fun <K> IntArray.distinctBy(
    selector: (Int) -> K
): List<Int> 
inline fun <K> LongArray.distinctBy(
    selector: (Long) -> K
): List<Long> 
inline fun <K> FloatArray.distinctBy(
    selector: (Float) -> K
): List<Float> 
inline fun <K> DoubleArray.distinctBy(
    selector: (Double) -> K
): List<Double>
inline fun <K> BooleanArray.distinctBy(
    selector: (Boolean) -> K
): List<Boolean>
inline fun <K> CharArray.distinctBy(
    selector: (Char) -> K
): List<Char>

في حال استدعاء الدالة distinctBy()‎ عبر مجموعة.

inline fun <T, K> Iterable<T>.distinctBy(
    selector: (T) -> K
): List<T>

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

لائحة تحتوي عناصر المصفوفة أو المجموعة التي استُدعيت عبرها والتي تختلف نتائج تطبيق دالة (selector) عليها.

أمثلة

استخدام الدالة ()drop مع المصفوفات: الحالة الأولى

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

fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4,4,5,2,6,22)
val selector: (Int) -> Int = {it+ 10}
println(array.distinctBy(selector)) // [1, 2, 3, 4, 5, 6, 22]
}

استخدام الدالة ()drop مع المصفوفات: الحالة الثانية

تعرف الشيفرة الآتية مصفوفة باسم arrayمكونة من تسعة أعداد باستخدام الدالة ()arrayOf، ثم تعرف دالة باسم ()selector، ثم تستخدم الدالة ()drop للحصول على لائحة تضم العناصر التي تختلف نتائج تطبيق الدالة ()selectorعليها، ولأنّ الدالة ()selector ستعيد نفس القيمة (0) على كل العناصر، فستعيد الدالة ()distinctBy عنصرًا واحدًا فقط (العنصر الأول):

fun main(args: Array<String>) {
val array = arrayOf(1,2,3,4,4,5,2,6,22)
val selector: (Int) -> Int = {it*0}
println(array.distinctBy(selector)) // [1, 2, 3, 4, 5, 6, 22]
}

انظر أيضًا

مصادر