@kotlin_lang

Страница 112 из 982
Quantum Harmonizer
26.04.2017
18:55:03
fun <T, U, R> ifBothNotNull(t: T?, u: U?, code: (T, U)->R): R? { return if (t != null && u != null) code(t, u) else null }

Roman
26.04.2017
18:55:15
?.let не масштабируется, val a= this.a выглядит избыточно и не красиво. а применять где-то одно, а где-то другое еще и не консистентно =))

Pavel
26.04.2017
18:55:32
https://discuss.kotlinlang.org/t/kotlin-null-check-for-multiple-nullable-vars/1946/4

Roman
26.04.2017
18:56:27
fun <T, U, R> ifBothNotNull(t: T?, u: U?, code: (T, U)->R): R? { return if (t != null && u != null) code(t, u) else null }
неплохо =), но else надо отдельно передавать и выглядеть это будет странно

Google
Dmitry
26.04.2017
18:58:25
ну такое, if (t != null && u != null) выглядит куда читабельнее так ли уж избыточно val a = this.a если взять во внимание что идет обращение к геттеру? т.е. стоит ли оно того?

Quantum Harmonizer
26.04.2017
18:59:02
Roman
26.04.2017
19:02:52
иначе куда его деть?

Quantum Harmonizer
26.04.2017
19:04:14
Код для else?

Roman
26.04.2017
19:04:26
дело не в тредах, оно и в 1м треде может измениться а как писать, пример уже был, не все же let -ом единым
не понимаю как оно может измениться в одном треде. мы только что в нашем треде проверили, строчкой ниже без других тредов значение другим не может стать

Dmitry
26.04.2017
19:04:27
там же возвращается null, т.е. ?: else-operation

Roman
26.04.2017
19:04:31
Quantum Harmonizer
26.04.2017
19:05:07
во-первых, можно использовать ?:. Во-вторых, я часто для функторов типа Option объявляю функцию которая принимает две лямбды, это вроде тоже норм.

Roman
26.04.2017
19:15:21
кастомный геттер
ну это же известно компилятору, где он есть, а где его нет.

Quantum Harmonizer
26.04.2017
19:17:01
ну это же известно компилятору, где он есть, а где его нет.
Это детали реализации, которые могут меняться от версии к версии кода.

Roman
26.04.2017
19:17:25
Google
Dmitry
26.04.2017
19:17:48
+ он может быть, но не изменять значение, а может и изменять. И выйдет что сегодня нельзя, завтра можно и опять по новой код переделывать

? animufag ?
26.04.2017
19:19:35
да точно

в этом же чатике вроде как был чел который лямбды называл функторами

а почему Option ты называешь функтором?
что в твоём мире означает слово функтор (только нельзя отвечать "абстракция")

Quantum Harmonizer
26.04.2017
19:21:27
а почему Option ты называешь функтором?
Потому что Option — функтор, в т. ч. аппликативный, и монада :)

https://medium.com/@aballano/kotlin-functors-applicatives-and-monads-in-pictures-part-1-3-c47a1b1ce251

Igor
26.04.2017
19:23:00
Потому что Option — функтор, в т. ч. аппликативный, и монада :)
хороший ответ получился "функтор - потому что функтор", а что делает его функтором?

? animufag ?
26.04.2017
19:23:26
лол

Quantum Harmonizer
26.04.2017
19:23:35
хороший ответ получился "функтор - потому что функтор", а что делает его функтором?
способность применить функцию к значению, завёрнутому в него

? animufag ?
26.04.2017
19:25:37
не ну там нужно отвечать что он функтор в контексте функции map (не уверен что в котлине это так) и показать что законы функтора работают для этой функции и этого типа

? animufag ?
26.04.2017
19:26:44
но этим уже кто-нибудь занимался и скорей всего да есть такая функция и да всё работает (ну не прям строго - всё таки нулы могут в нём появится)

аа вы не про знак вопроса, а про option из джавы?

Quantum Harmonizer
26.04.2017
19:28:05
аа вы не про знак вопроса, а про option из джавы?
В Джаве он Optional, и я его не использую, т. к. он из восьмой версии =)

Я про сферический Option в вакууме.

? animufag ?
26.04.2017
19:28:55
ну ок, тогда точно всё работает

Vitaliy
26.04.2017
19:32:54
а как знание аби коррелирует со знаниями котлина? )
По-твоему, нормально заявлять знание Котлина, не зная основы ведра?

Google
Vitaliy
26.04.2017
19:33:38
Давай будем строить космические корабли, не умея считать.

Dmitry
26.04.2017
19:33:49
А котлин это язык разработки под ведро?

Vitaliy
26.04.2017
19:33:56
Запускаем, летит, значит все норм

Pavel Shackih
26.04.2017
19:34:02
Vitaliy
26.04.2017
19:34:06
Больше нигде особой популярности пока не получил

Только у молодежи

Dmitry
26.04.2017
19:34:53
Мы про язык или про популярность?

Roman
26.04.2017
19:35:27
Больше нигде особой популярности пока не получил
JetBrains заявляет только 50 процентов пользователей с андроида - остальные большая Java

Dmitry
26.04.2017
19:35:50
Как можно кодить на котлине под большую джаву не зная основ ведра?

Dmitry
26.04.2017
19:36:17
Не вижу что-то
а, ну тогда ок

Roman
26.04.2017
19:36:22
Не вижу что-то
я думаю им все-таки виднее =)

Vitaliy
26.04.2017
19:37:02
Они, скорее всего, считают либы, не привязанные к ведру

Но которые все равно используют на ведре

Boris
26.04.2017
19:37:56
? animufag ?
26.04.2017
19:38:08
как можно кодить на джаве не зная основ ведра

как можно кодить на свифте не зная основ иос

ладно кажись у меня иссякает фантазия. какие там ещё бывают производные языки

Google
? animufag ?
26.04.2017
19:39:54
для тайпскрипт - какие там нужно основы знать?

Quantum Harmonizer
26.04.2017
19:43:17
Roman
26.04.2017
19:43:29
вот кстати интересный вариант https://github.com/importre/kotlin-unwrap/blob/87a8b4cf2492fbac6c141766410a955f13d6138d/src/main/kotlin/com/importre/unwrap/Unwrap.kt

для работы c nullable

unwrap(_a, _b, _c) { a, b, c -> println("$a, $b$c") // not invoked } otherwise { println("Nah!") // invoked because `_c` is null }

слово otherwise здесь удобно

но жаль для этого алоцировать объект каждый раз

Boris
26.04.2017
19:45:03
да, в котлине не помешали бы инлайн-классы

Admin
ERROR: S client not available

Quantum Harmonizer
26.04.2017
19:45:21
но жаль для этого алоцировать объект каждый раз
да ну нафиг, лучше лишние круглые скобки написать

Roman
26.04.2017
19:45:44
да ну нафиг, лучше лишние круглые скобки написать
согласен, но читабельность у такого варианта не оч

Vitaliy
26.04.2017
19:48:05
Хороши набрасывать сами. Я говорю о своём опыте -- ко мне идут собеситься​ на ведро чуваки, которые не знаю ведро, но знают Кокококотлин.

Если бы собесил на ЖВМ, было бы то же самое. Или не было бы. Я про ведро пишу тут.

Anton
26.04.2017
19:49:13
И чё?)

Vitaliy
26.04.2017
19:49:16
И да, они должны знать ведро, прежде чем кококотлинять. И ЖВМ. Один мне так доказывал, а потом спросил, что такое GC.

? animufag ?
26.04.2017
19:49:58
Кокококотлин это глупо.

Vitaliy
26.04.2017
19:50:20
Я в метро ехал, палец соскользнул

Dmitry
26.04.2017
19:50:26
Как конкретный человек пришедший конкретно к тебе коррелирует с котлином и его использованием под ведро?

Google
Vitaliy
26.04.2017
19:51:04
О какой конкретно корреляции сейчас речь?

Между чем?

? animufag ?
26.04.2017
19:52:08
ну и как там знание гц сильно помогает?

Anton
26.04.2017
19:52:49
А зачем вы собеседуете людей которые не знают что такое ГЦ

Вы всех подряд с улицы собираете?

Vitaliy
26.04.2017
19:53:34
Именно то не собеседованием было, а беседой -- примерно​как как сейчас.

Dmitry
26.04.2017
19:53:36
Только тех, кто знает котлин

Vitaliy
26.04.2017
19:53:52
На собеседования берем как обычно

Выборка не один человек, а человек 20

Из них только один товарищ оказался компетентным.

Ещё раз, речь не о том, плохой ли язык ли нет. А о том, что легкость вхождения в него способствует росту неграмотных программистов. Примерно как в пыхе

? animufag ?
26.04.2017
19:56:25
есть такие вещи которые легче понять в котлине чем в джаве?

Dmitry
26.04.2017
19:56:27
А вывод из этого какой следует? Язык должен быть сложным?

Quantum Harmonizer
26.04.2017
19:56:52
есть такие вещи которые легче понять в котлине чем в джаве?
Котлин больше похож на JavaScript, так что он в какой-то степени проще.)

Vitaliy
26.04.2017
19:57:20
И о том, что любой разработчик, прежде чем считать себя достаточно компетентным для подобных холиваров и ультимативного согласия на Котлин, должен вначале базис выучить. Жвм, Ведра или какого-нибудь спринга.

Dmitry
26.04.2017
19:58:13
Что мешает использовать котлин и учить ведро одновременно?

? animufag ?
26.04.2017
19:58:15
Котлин больше похож на JavaScript, так что он в какой-то степени проще.)
ну такое. с типами вроде посложнее. ну разве что то что типы можно не писать лишний раз.

Dmitry
26.04.2017
19:58:27
Чем это отличается от использования джавы и изучению ведра?

Vitaliy
26.04.2017
19:58:40
Ну и квантум правильно написал.

Boris
26.04.2017
19:58:41
Хороши набрасывать сами. Я говорю о своём опыте -- ко мне идут собеситься​ на ведро чуваки, которые не знаю ведро, но знают Кокококотлин.
любой здравомыслящий человек из этого сделал бы только один вывод: к тебе не идут приличные разработчики, ты же делаешь вывод, что люди которые пишут на котлине низко квалифицированы, что в целом объясняет необъяснимый феномен приходящих к тебе разработчиков

Страница 112 из 982