Articles of ленивые последовательности

Попытка понять пример Котлина

Я хочу узнать Котлина и работать с примерами на try.kotlinlang.org Мне трудно понять некоторые примеры, особенно пример Lazy: https://try.kotlinlang.org/#/Examples/Delegated%20properties/Lazy%20property/Lazy%20property.kt /** * Delegates.lazy() is a function that returns a delegate that implements a lazy property: * the first call to get() executes the lambda expression passed to lazy() as an argument * and remembers the result, […]

Функция последовательности Котлина неразрешенная ссылка

Kotlin 1.0.0 IDEA 2016.1 Я нашел пару ссылок на новую функцию sequence используемую для создания последовательности (больше не называемой stream ). В блоге JetBrains приводятся следующие примеры: val elements = sequence(1, { x -> x + 1}) val elements = listOf(1, 2, 3, 4).sequence() Блог AgileWombat дает похожие примеры. val squares = sequence(1) {it + […]

Как бесконечно и лениво перебирать список в Котлин?

У меня есть список directions и вы хотите найти следующее направление, когда я делаю правый или левый поворот. Вот рабочий код, который у меня есть: enum class Turn { R, L } enum class Direction { N, E, S, W } val directionsInRightTurnOrder = listOf(Direction.N, Direction.E, Direction.S, Direction.W) private fun calculateNextHeading(heading: Direction, turn: Turn): Direction […]

Итерабельность и последовательность Котлина выглядят точно так же. Почему требуются два типа?

Оба этих интерфейса определяют только один метод public operator fun iterator(): Iterator<T> Документация говорит, что Sequence должна быть ленивой. Но не Iterable ленивый (если не подкреплен Collection )?