Articles of ленивая оценка

Возможно ли лениво инициализировать свойство и утверждать его?

Как я могу ленив инициализировать поле и выполнить утверждение на нем? Я пытался val table: Array<FormatInfo> by lazy { val t = arrayOf(…) assert(table.size == FORMAT_COUNT, { System.err.println("GLI error: format descriptor list doesn't match number of supported formats") }) t } Но он переполняется: java.lang.StackOverflowError at gli.GliKt$table$2.invoke(gli.kt:451) at gli.GliKt$table$2.invoke(gli.kt) at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:131) at gli.GliKt.getTable(gli.kt) at gli.GliKt$table$2.invoke(gli.kt:693) […]

Kotlin, ориентированный на Java interop: Идиоматический тип для ленивой коллекции?

При настройке Java interop какой тип следует использовать для ленивой коллекции? Sequence<T> имеет наибольший смысл для абонентов Kotlin из-за того, что по умолчанию функции расширения на нем ленивы, но заставляет вызывающих Java обрабатывать тип stdlib Kotlin и преобразовывать итератор последовательности вручную (последовательность не расширяет итерабельность!) Iterable<T> имеет смысл для Java-абонентов из-за неявного использования в циклах, […]

Intereting Posts
kodein, ввод данных в простой класс Kotlin: получить расширение файла со стандартной функциональностью Присвоение не допускается при выражении? Kotlin: Как получить доступ к Attrs для CustomView Kotlin kovenant succesUi на неправильной нитке? Как создать бесконечный интервал Наблюдаемый, который будет генерировать новый объект каждый временной интервал? Kotlin более высокий порядок (вызываемые ссылки) компилятор сбой Как использовать привязку данных и Kotlin в Android Studio 3.0.0 Является ли котлин функциональным и процедурным? Android Kotlin как установить флажок в режиме просмотра нескольких вариантов Нужно ли обновлять Kotlin каждый раз, когда я работаю над приложением моей компании? Ошибка конфигурации Kotlin java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: невозможно слить dex Ошибка Kotlin: Кинжал не поддерживает инъекцию в частные поля Внутренний класс создает неудачу в Котлине