Причина, по которой вы получаете unresolved reference
для b.add()
, заключается в том, что вы инициализировали b
как List
вместо MutableList
.
Пожалуйста обратите внимание, что после инициализации вы можете добавлять элементы в MutableList
, но не в List
в Kotlin. Следовательно, измените вашу инициализацию b
на var b: MutableList<List<Int>> = mutableListOf()
fun a(x: Int): List<List<Int>> {
var a = 1.rangeTo(x)
var b: MutableList<List<Int>> = mutableListOf()
for (i in a) {
var num1 = if (i <= 3) i else 4
var list_a = 0.rangeTo(num1 - 1).toList()
b.add(list_a)
}
return b
}
Немного изменив его, вы можете использовать 1..x
для диапазона в for
l oop и (0 until num1)
вместо из 0.rangeTo(num1 - 1)
как показано ниже
fun a(x: Int): List<List<Int>> {
val listB: MutableList<List<Int>> = mutableListOf()
for (i in 1..x) {
val num1 = if (i <= 3) i else 4
val listA = (0 until num1).toList()
listB.add(listA)
}
return listB
}