Articles of поток

Мы должны покрывать все ветви всеми выражениями Control-Flow в Котлине?

Я просмотрел документы с сайта Kotlin, есть только два выражения Control-Flow: if и when . if : выражение должно иметь ветвь else when : Филиал else оценивается, если ни одно из других условий ветвления не выполняется. Если в качестве выражения используется выражение, ветвь else является обязательным, если компилятор не может доказать, что все возможные случаи […]

Kotlin readBytes () никогда не завершает

Я только пытаюсь писать и читать через Bluetooth Socket, но мой вызов readBytes не завершается. Я думаю, что это очень просто, но, возможно, я просто использую неправильный тип потока или что-то в этом роде. На данный момент мой код просто отправляет небольшое количество текста в виде байтов. Это код заполнителя, который будет заменен кодом, который […]

Поток в котлин

Как Котлин будет работать над следующим кодом? Будет ли создаваться коллекция из 5000000 целых чисел как временная коллекция или будет ли фильтр сразу же forEach результат в значение forEach что означает, что будут рассмотрены только 20 целых чисел? Если нет, как мне удастся избежать промежуточной коллекции? Код: class Tests { @Test fun test() { var […]

Как лучше всего найти элемент в вложенных списках?

Kotlin предоставляет некоторые полезные функции расширения, позволяющие потоковое программирование. Например, если я ищу элемент в списке, я могу использовать find : return list.find { n -> n>4 && n<6 } Но когда у меня есть вложенные списки, это кажется мне непрактичным. Тогда я использую forEach – к счастью, я могу вернуться из внутренней Лямбды с […]

Kotlin и Gradle – Чтение из stdio

Я пытаюсь выполнить класс Kotlin с помощью команды: ./gradlew -q run < src/main/kotlin/samples/input.txt Вот мой класс HelloWorld.kt : package samples fun main(args: Array<String>) { println("Hello, world!") val lineRead = readLine() println(lineRead) } Вот мой build.gradle.kts : plugins { kotlin("jvm") application } application { mainClassName = "samples.HelloWorldKt" } dependencies { compile(kotlin("stdlib")) } repositories { jcenter() } […]

Предельная функция в Котлине

В Java 8 существует limit потока потоков: package com.concretepage.util.stream; import java.util.Arrays; import java.util.List; public class LimitDemo { public static void main(String[] args) { List<String> list = Arrays.asList("AA","BB","CC","DD","EE"); list.stream().limit(3).forEach(s->System.out.println(s)); } } вывод: AA BB CC Каково название аналога в Котлине, или как сделать это лучше другим способом?

Как сопоставить варианты соответствия в Котлин?

Можно ли написать что-то подобное, или нам нужно вернуться к ручной нулевой проверке в Котлин? val meaningOfLife : String? = null when meaningOfLife { exists -> println(meaningOfLife) else -> println("There's no meaning") }