Articles of функции

Выполнить функцию из строки?

У меня есть функция, определенная в строке, и вам нужен способ ее создания: val myFunction = """fun (file:Int, rank:Int, playerHasWhite: Boolean): Boolean { val a = file + 3 val b = rank – 2 if (playerHasWhite) a>b else a<b } """ Итак, есть ли простой способ, путем отражения, создать экземпляр myFunction? (Я заметил, что […]

Kotlin: Как можно получить доступ к функциям расширения внутри одного типа извне?

Я часто сталкиваюсь с сценарием, где у меня есть абстрактные функции расширения внутри типа. interface PetScript { fun Pet.feed() fun Pet.call() } Наличие функций функций расширения допускает очень минималистические реализации, потому что это дает автоматический контекст. К сожалению, единственный способ использовать эти функции – написать стандартные стандартные шаблоны, которые переходят к расширениям. interface PetScript { […]

Kotlin: можете ли вы объяснить функции расширения члена?

Мой код выглядит следующим образом: open class Particle class Electron : Particle() open class Element(val name: String) { open fun Particle.react(name: String): Unit { println("$name is reacting with a particle") } open fun Electron.react(name: String): Unit { println("$name is reacting with an electron") } fun react(particle: Particle): Unit { particle.react(name) } } fun main(args: Array<String>) […]

Как преобразовать вывод функции в Unit с Kotlin

У меня есть проблемы с функцией в Котлине, которая должна возвращать Unit, но из-за использования другой функции, возвращающей логическое значение, существует несоответствие типа. Вот надуманный пример: fun printAndReturnTrue(bar: Int): Boolean { println(bar) return true } fun foo(bar: Int): Unit = when(bar) { 0 -> println("0") else -> printAndReturnTrue(bar) } Здесь мне на самом деле все […]

Область применения верхнего уровня Kotlin

Скажем, я пишу пакет Kotlin, содержащий следующий код: package CoolWithATwist // code that solves the TSP in linear time followed by this: fun <T> println(x: T) { kotlin.io.println(x) haltAndCatchFire() // or any annoying/destructive function } Если пакет будет распространен в форме байт-кода, могу ли я исходить из предположения, что правила Котлина по умолчанию, импортирующие стандартные […]

Котлин – когда выражение с возвращаемым типом функции

Я хочу использовать преимущества kotlin, когда выражения и общие методы упрощают общие настройки api для Android. Вместо того чтобы постоянно вызывать getString () и getInt () и т. Д., Я хочу создать функцию расширения, которая будет переключаться на основе типа возвращаемого значения и вызвать соответствующий метод. Что-то вроде ниже: fun <T> SharedPreferences.get(key: String): T? { […]

Intereting Posts
RxAndroid – использование RxView.touches очищает другие обработчики В Kotlin при использовании Kovenant Promise.of (значение) иногда я исключаю исключения Не удалось слияние манифеста: при использовании модуля kotlin Переменная с kotlin для URL Как назначить байт в котлин? Не удалось запустить файл jar. (Ошибка: не удалось найти или загрузить основной класс co.pissarra.Mainkt) Kotlin: Как дочерний класс может использовать функцию расширения родителя в вызове супер-конструктора? Почему тексты не меняются в действии? Регистрация десериализатора для обернутого списка типов Оператор, новый в Kotlin (синтаксис) Java vs Kotlin – методы Spring @Async в одном классе Простой способ отображения моделей данных в модели домена модификатор lateinit не допускается на свойства примитивного типа в Котлине Как создать наблюдаемый список в kotlin Нельзя использовать значение argb color int в Kotlin?