2019年7月14日 星期日

for Kotlin

一直以來寫 c 或 Javascript 時習慣用:
               for (i = 0; i < 10; i++)  // ...
Kotlinfor 迴圈語法只能用 for(variable in Range) 來實現,像上述例子就可用單端式範圍遞增數列運算子 until 來實現:
               for (i in 0 until 10)     // until 是單端式範圍, 包含 0, 但不含 10
或是改成雙端式範圍遞增數列運算子 .. 加以實現:
               for(i in 0 .. 9 ) // .. 是雙端式範圍, 0 與 9 皆包含在內
累進數(等差級數步階值)大於 1, 就要加上 step,  像上式用 c 或 Javascipt寫的步階改為 2:
               for (i = 0; i < 10; i+=2)  // ...
在 Kotlin 就直接加上 step 2:
               for (i in 0 until 10 step 2) // ...
如果是遞減數列(數字大往數字小的等差級數), 像是 c 或 Javascript 所寫雙端式範圍的迴圈:
               for (i=10; i>=0; i-=2) // 10, 8, 6, ..., 0
因為在 Kotlin 語法中, 步階值必須是正整數, 雙端式範圍遞減數列用 downTo 關鍵字來實現:
               for (i in 10 downTo 0 step 2) // ...
參考文章:    https://kotlinlang.org/docs/tutorials/kotlin-for-py/loops.html

沒有留言: