Что означает имя одной переменной в лямбда-замыкании? - PullRequest
0 голосов
/ 01 ноября 2018

У меня был метод, который получает данные из базы данных в список, используя библиотеку Anko. Я не могу понять, что означает одно имя переменной после лямбды (то есть dataList в конце функции). Как это перевести на Java?

Код:

    fun gerData() : ArrayList<DataModelKotlin> = context.database.use {
        val dataList = ArrayList<DataModelKotlin>()
            select("TipList", "task", "id")
                    .parseList(object: MapRowParser<List<DataModelKotlin>>{
                        override fun parseRow(columns: Map<String, Any?>): List<DataModelKotlin> {
                            val task = columns.getValue("task")
                            val id = columns.getValue("id")

                            val dataModel = DataModelKotlin(text = task.toString(), id = id.toString().toInt())
                            dataList.add(dataModel)
                            return dataList
                        }

                    })
        dataList //???
    }

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Последнее выражение в лямбде - это возвращаемое значение: https://kotlinlang.org/docs/reference/lambdas.html#returning-a-value-from-a-lambda-expression

0 голосов
/ 01 ноября 2018

То же самое с

return dataList; 

В Java

...