Articles of scala

Почему компилятор Scala дает мне ошибку при передаче закрытого класса Kotlin в конструктор?

У меня запечатанный класс, написанный в Котлине: sealed class Schema { class RecordSchema(val fields: List<Field>): Schema() class ArraySchema(val elementSchema: Schema): Schema() … } И еще один класс, который принимает RecordSchema как параметр: class Enrichment(config: Config, val schema: RecordSchema) { … } В Scala у меня есть класс, который, среди прочего, получает экземпляр RecordSchema а затем […]

Не удалось построить Gradle с помощью Kotlin, Scala и Java

У меня есть проект, написанный на Java, Scala и Kotlin. Но когда я создаю этот проект в Gradle, это ошибка с сообщением: 11:19:51: Executing task 'build'… :compileKotlin Using Kotlin incremental compilation e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (3, 19): Unresolved reference: Flag e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (10, 18): Unresolved reference: GroupMessageResponder e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (13, 2): 'doPost' overrides nothing e: F:\Code\Project\Avalon\src\main\kotlin\avalon\group\Execute.kt: (35, […]

Можно ли смешивать Scala и Kotlin в одном модуле maven?

Я работаю с Kotlin, настроенным maven, как описано здесь: https://kotlinlang.org/docs/reference/using-maven.html#compiling-kotlin-and-java-sources (но используя только java src dir для Java и Kotlin). У нас есть некоторые модули Scala, которые настроены так, как описано здесь: https://dzone.com/articles/scala-in-java-maven-project . Очевидный способ подключения обоих плагинов maven не помог. Скала не узнала файлы Котлина. Можно ли смешивать Java, Kotlin и Scala в […]

Локальная система управления пакетами Java в стиле PIPON PIP?

Я хочу программировать на Java или других языках JVM, таких как Scala, Kotlin или Groovy. Когда я программирую свои проекты, я хочу иметь только инструкции импорта в исходных файлах Java / Scala / Kotlin без необходимости указывать пакеты во второй раз в скрипте сборки Gradle / Maven. Вместо этого я хочу работать так, как я […]

Сборник JAR для Scala & Kotlin

Я пытаюсь создать доказательство концепции для Котлина, вызывающего код Scala. Вот как выглядит проект на данный момент: kotlin-src/ hello.kt scala-src/ Hello.scala Затем, чтобы скомпилировать оба языка: kotlinc kotlin-src/*.kt scalac scala-src/*.scala Что создает в корневом каталоге следующие файлы: META-INF/ main.kotlin_module HelloKt.class HelloScala.class Я пытаюсь превратить JAR в: jar cvfM run.jar *.class META-INF Однако он не будет […]

Как работают функции расширения Котлина?

Предположим, я хочу целое число, которое предоставляет square метод. Котлин : fun Int.square() = this * this Применение: println("${20.square()}") документ: Расширения фактически не изменяют классы, которые они расширяют. Определяя расширение, вы не вставляете новые члены в класс, а просто делаете новые функции вызываемыми с помощью точечной нотации на переменные этого типа. Мы хотели бы подчеркнуть, […]

Безглавая однопользовательская библиотека для JVM и JavaScript

Мне нужно написать библиотеку, которая может быть скомпилирована в Java-классы (более конкретно: Android) и JavaScript или TypeScript (современный браузер и Node.js). Lib будет обрабатывать списки объектов с большим количеством чисел и должен вычислять статистику и фильтровать / манипулировать списками. Никакой ракетоведческой науки, зависимости не могут быть объединены для каждой среды. Нет проблем с десятичной арифметикой. […]

Kotlin VS Scala: реализовать методы с параметрами первичного конструктора

В Scala вы можете написать такой код. trait List[T] { def isEmpty() :Boolean def head() : T def tail() : List[T] } class Cons[T](val head: T, val tail: List[T]) :List[T] { def isEmpty = false } вам не нужно переопределять хвост и голову, они уже определены, но в Котлин мне пришлось это кодировать. interface List<T> […]

Котлин: фигурные скобки вокруг нескольких выражений (или высказываний)

Я думаю, что этот вопрос несколько связан с объявлением функции Котлина: знак равенства перед фигурными фигурными скобками В Scala каждое выражение является выражением (возможно, с типом Unit ). Если мы окружаем несколько выражений фигурными скобками, то окончательное выражение представляет собой фактическое значение фигурной скобки. Следовательно, // Scala val a = { val b = 1 […]

Использование нескольких языков JVM в одном проекте

Я хотел бы использовать Kotlin & Scala в проектах и, возможно, на некоторых других языках, но я не видел хорошего способа сделать это. Единственный способ, которым я думал, – это скомпилировать один язык и декомпилировать его на Java для работы с другим. Есть ли альтернативы?