Intereting Posts
Есть ли какие-либо документы об модификаторах доступа в Котлин? Свойство суперкласса не инициализировано в классе Derived Как получить доступ к членам внутреннего объекта в Котлине Есть ли у котлин-родных деструкторы? У Kotlin Android Extensions кешируются синтетические свойства или каждый раз, когда он вызывает findViewById ()? Kotlin возвращает тот же объект из метода Factory Ошибка несоответствия типа Котлин при передаче аргументов из терминала Kotlin для андроида и статических окончательных внутренних классов Расширение Kotlin не распознается в адаптере AspectJ Проблемы компилятора с передачей kotlin в иерархии типов Android Kotlin: Смысл бесплатной функции с использованием Mockito / PowerMock Kotlin: как преобразовать тест, который использует Thread.sleep для RxJava TestScheduler Как переопределить метод открытого класса Java в Котлине? Ни один из подписчиков RxJava onNext / onError / onComplete не вызывается при цепочке. Наблюдения, созданные из Observable.create () JsonProperty не работает при включенном разрешении

Именование условия if-value для использования в if block

Чтобы ограничить количество экземпляров двойного кода, я хотел бы назвать мои переменные в выражении if, как это делается для циклов.

Мое выражение:

var hours = if (this.substringBefore(":").toInt() != 0) {this.substringBefore(":") + "h" } {else ""} 

Я хочу что-то вроде:

 var hours = if (MY_VAR = this.substringBefore(":").toInt() != 0) { MY_VAR + "h" } else { "" } 

В основном я пишу в kotlin, но я заинтересован в поиске других языков, которые это делают.

    В Котлин я бы рекомендовал использовать функции более высокого порядка для создания такой временной переменной, например let :

     this.substringBefore(":").let { myval -> if (myval.toInt() != 0) { myval + "h" } else "" }