الثابتة until()
في لغة Kotlin
تعيد الدالة until()
مجالا (range) تصاعديًا من القيمة التي استُدعيت عبرها وحتى القيمة الممرّرة (القيمة المُمرّرة مُستثناة).
البنية العامة
infix fun Int.until(to: Byte): IntRange
infix fun Long.until(to: Byte): LongRange
infix fun Byte.until(to: Byte): IntRange
infix fun Short.until(to: Byte): IntRange
infix fun Long.until(to: Int): LongRange
infix fun Int.until(to: Short): IntRange
infix fun Long.until(to: Short): LongRange
infix fun Byte.until(to: Short): IntRange
infix fun Short.until(to: Short): IntRange
تعيد الدالة until()
مجالا (range) تصاعديًا من القيمة التي استُدعيت عبرها وحتى القيمة الممرّرة (القيمة المُمرّرة مُستثناة). ينبغي أن تكون القيمة الممررة أكبر من القيمة التي استُدعيت عبرها الدالة، وإلّا فستعيد الدالة مجالا فارغًا.
infix fun Char.until(to: Char): CharRange
تعيد الدالة until()
مجالا (range) تصاعديًا من القيمة التي استُدعيت عبرها وحتى القيمة الممرّرة (القيمة المُمرّرة مُستثناة). الحرف المُمرّر يجب أن يكون أكبر من المحرف '\u0000'
أو ستعيد الدالة مجالا فارغًا.
infix fun Int.until(to: Int): IntRange
infix fun Byte.until(to: Int): IntRange
infix fun Short.until(to: Int): IntRange
تعيد الدالة until()
مجالا (range) تصاعديًا من القيمة التي استُدعيت عبرها وحتى القيمة الممرّرة (القيمة المُمرّرة مُستثناة). ينبغي أن تكون القيمة الممررة أكبر من Int.MIN_VALUE
، وإلّا فستعيد الدالة مجالا فارغًا.
infix fun Int.until(to: Long): LongRange
infix fun Long.until(to: Long): LongRange
infix fun Byte.until(to: Long): LongRange
infix fun Short.until(to: Long): LongRange
تعيد الدالة until()
مجالا (range) تصاعديًا من القيمة التي استُدعيت عبرها وحتى القيمة الممرّرة (القيمة المُمرّرة مُستثناة). ينبغي أن تكون القيمة الممررة أكبر من Long.MIN_VALUE
، وإلّا فستعيد الدالة مجالا فارغًا.
يُلاحَظ وجود الكلمة المفتاحية infix
للدلالة على أن هذه الدالة يمكن استدعاؤها بنمط التدوين الداخليّ (infix notation)؛ أي من خلال حذف المعامل .
والأقواس ()
المُستخدَمَين في الاستدعاء عادةً، وللمزيد من التفاصيل راجع توثيق التدوين الداخلي للدوال (infix functions).
القيمة المُعادة
مجال (range) تصاعدي.
مثال
استخدام الدالة until()
في الشيفرة التالية نعرّف عددًا x
يساوي 5
وحرفًا y
يساوي 'a'
، ثم تنشئ مجالين عبر استدعاء الدالةuntil()
على x
وتمرير العدد 9
، ثم استدعائها عبر y
وتمرير الحرف 'f'
كوسيط، ثم تطبع الناتج:
fun main(args: Array<String>) {
val x = 5
val y = 'a'
print(x.until(9)) // 5..8
print(y.until('f')) // a..e
}
أنظر أيضًا
downTo()
: تعيد الدالة مجالا متدرّجًا (progression) تنازليًا من القيمة التي استُدعيت عبرها وحتى القيمة الممرّرة. ينبغي أن تكون القيمة الممررة أصغر من القيمة التي استُدعيت عبرها الدالة، وإلّا ستعيد الدالة مجالا متدرجا فارغًا.