Как сделать переменную зависимой от других? - PullRequest
0 голосов
/ 22 декабря 2018

Я пытаюсь связать две переменные в kotlin для понимания целей.

Вот что я пытаюсь сделать.

Я хочу, чтобы var impact зависело от var lives.как в каждом случае var lives должно содержать 70 единиц var impact.

Пожалуйста, сообщите мне, как это сделать.

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

Другим способом было бы использовать свойство без вспомогательного поля для воздействия:

var lives = 0
val impact get(): Int {
    // do something
    return lives * 5 // impact depends on lives
}

Таким образом, вы не изменяете impact реактивно, как в ответе Сергея, а скорее получаете значение, зависящее от значенияна lives если у вас есть доступ impact.

0 голосов
/ 22 декабря 2018

Вы можете использовать делегат свойства, он срабатывает при каждом изменении значения свойства.Используя делегат, вы можете изменить свойство lives в зависимости от impact новое значение:

var lives: Int = 0
var impact: Int by Delegates.observable(0) { property, oldValue, newValue ->
    // add your logic here to react on changes of `impact` variable
    lives = 70 * newValue
}

Delegates.observable() - это встроенный делегат из стандартной библиотеки Kotlin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...