Size: a a a

Programming Offtop

2021 March 16

IP

Iaroslav Postovalov in Programming Offtop
Именно про них я и говорю
источник

(

( in Programming Offtop
Iaroslav Postovalov
В лямбду ты как их передашь безопасно?
просто напиши датакласс
источник

AL

Anton Lakotka in Programming Offtop
ну это если у тебя лямбда настолько суровая, что функция. то тогда да, это проблема.
но ведь всегда можно из верхнего скоупа взять эти переменные напрямую. (безопасно ли это?, возможно нет. но довольно практично)
источник

IP

Iaroslav Postovalov in Programming Offtop
(
просто напиши датакласс
Ты же понимаешь, что это большой бойлерплейт
источник

IP

Iaroslav Postovalov in Programming Offtop
Типа, там close реализовать и т.п.
источник

(

( in Programming Offtop
Iaroslav Postovalov
Ты же понимаешь, что это большой бойлерплейт
маленький бойлерплейт
источник

IP

Iaroslav Postovalov in Programming Offtop
(
маленький бойлерплейт
В котлине без него пишут
источник

AL

Anton Lakotka in Programming Offtop
use(a,b,c) {  a.doA(); b.doB(); c.doC(); }
seems legit to me
источник

IP

Iaroslav Postovalov in Programming Offtop
Тут два стула: либо кодген, либо накомпиляторить плагин, чтобы он делал автоматический close полей датаклассп
источник

(

( in Programming Offtop
Iaroslav Postovalov
В котлине без него пишут
ахаха
источник

VP

Vladimir Petrakovich in Programming Offtop
Anton Lakotka
use(a,b,c) {  a.doA(); b.doB(); c.doC(); }
seems legit to me
А откуда берутся a, b и c?
источник

IP

Iaroslav Postovalov in Programming Offtop
Vladimir Petrakovich
А откуда берутся a, b и c?
Ну из внешнего скоупа, видать
источник

AL

Anton Lakotka in Programming Offtop
но я готов принять свою ошибку, если мне объяснят. что обязательно нужно передавать в лямбду.
источник

AL

Anton Lakotka in Programming Offtop
и обоснуют
источник

IP

Iaroslav Postovalov in Programming Offtop
val a = getFirstFile()
val b = getSecondFile()
val c = getThirdFile()
use(a, b, c) { ... }
источник

IP

Iaroslav Postovalov in Programming Offtop
Ну такое
источник

VP

Vladimir Petrakovich in Programming Offtop
Iaroslav Postovalov
Ну из внешнего скоупа, видать
Ну то есть это всё внутри
A().use { a ->
   B().use { b ->
       C().use { c ->
               // твой код
       }
   }
}
источник

VP

Vladimir Petrakovich in Programming Offtop
Iaroslav Postovalov
val a = getFirstFile()
val b = getSecondFile()
val c = getThirdFile()
use(a, b, c) { ... }
Не, так не пойдёт
источник

IP

Iaroslav Postovalov in Programming Offtop
Vladimir Petrakovich
Ну то есть это всё внутри
A().use { a ->
   B().use { b ->
       C().use { c ->
               // твой код
       }
   }
}
нет, мы говорим про гипотетический use(vararg Closeable)
источник

IP

Iaroslav Postovalov in Programming Offtop
Vladimir Petrakovich
Не, так не пойдёт
Вот я тоже так думаю
источник