Size: a a a

Programming Offtop

2020 July 25

KD

Konstantin Dovnar in Programming Offtop
Разумеется.
Но это не отменяет того, что это удобнее, чем if(x == null) x = "Hello"
источник

AM

Andrew Mikhaylov in Programming Offtop
Так делегат не поможет с присвоением существующей переменной.
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Так делегат не поможет с присвоением существующей переменной.
может. Если она делегатом закрывается
источник

AN

Alexander Nozik in Programming Offtop
я же говорю, см. singleAssign
источник

ML

Mikhail Levchenko in Programming Offtop
Konstantin Dovnar
var String x = null;
x ?= "Hello"; x = Hello

var String y = "foo";
y ?= "bar"; // y всё ещё foo
Фу, императивщина какая то
источник

KD

Konstantin Dovnar in Programming Offtop
В том же флаттере это очень приятно используется при создании темы приложения.

Если ты задал какую-то переменную для темы, то оно таким и останется, если нет, то таким образом присваивается значение по-умолчанию
источник

AM

Andrew Mikhaylov in Programming Offtop
Я думаю, большинство в котлине решают это единственным присваиванием с цепочкой элвисов.
источник

ML

Mikhail Levchenko in Programming Offtop
Alexander Nozik
На самом деле в котле для такого легко делегат сделать. Чтобы он второе присвоение делал только если поле null
Можно и без делегата, экстешн T:Any T?.or(block:()-> T)
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Я думаю, большинство в котлине решают это единственным присваиванием с цепочкой элвисов.
Угу, но у меня обычно обратная ситуация, надо обновить если приходящее значение не  null
источник

KD

Konstantin Dovnar in Programming Offtop
Alexander Nozik
Угу, но у меня обычно обратная ситуация, надо обновить если приходящее значение не  null
Пора ввести !=
источник

AN

Alexander Nozik in Programming Offtop
Mikhail Levchenko
Можно и без делегата, экстешн T:Any T?.or(block:()-> T)
Не понятно, на кого вешать.
источник

ML

Mikhail Levchenko in Programming Offtop
Alexander Nozik
Не понятно, на кого вешать.
На Any
источник

AN

Alexander Nozik in Programming Offtop
Konstantin Dovnar
Пора ввести !=
Да в общем нет надобности особой
источник

ML

Mikhail Levchenko in Programming Offtop
x = x.or{y}
источник

AN

Alexander Nozik in Programming Offtop
А как выбрать к какому полю вешать
источник

AN

Alexander Nozik in Programming Offtop
а, так
источник

KD

Konstantin Dovnar in Programming Offtop
Alexander Nozik
Да в общем нет надобности особой
(это шутка)
источник

BP

Bogdan Panchenko in Programming Offtop
Konstantin Dovnar
Разумеется.
Но это не отменяет того, что это удобнее, чем if(x == null) x = "Hello"
x = x ?: "Hello" 🌚
источник

AN

Alexander Nozik in Programming Offtop
Bogdan Panchenko
x = x ?: "Hello" 🌚
да, так лучше
источник

AN

Alexander Nozik in Programming Offtop
Кстати и бесплатно
источник