@kotlin_lang

Страница 712 из 982
Y
18.06.2018
09:22:14
Подскажите пожалуйста, есть ли вот такой конструкции Any.map { it.filterNotNull() } короткая нотация через "::", it в данном случае вот это (MutableList<String!>..List<String!>?)

Dibro
18.06.2018
09:27:50
короткой это не назвёшь, но через ::

Quantum Harmonizer
18.06.2018
09:31:32
кто юзает squirrel?
подкармливаю squirrel в бижайшем park

Google
OlegKrikun
18.06.2018
09:32:19
Quantum Harmonizer
18.06.2018
09:32:29
TreePark?
LinkedTreePark

Hip
18.06.2018
09:32:57
OlegKrikun
18.06.2018
09:32:58
LinkedTreePark<Squirrel>

Quantum Harmonizer
18.06.2018
09:33:32
с какой целью? зачем?
чтоб шерсь блестела

Hip
18.06.2018
09:33:55
хаха угараешь

чтоб шерсь блестела
включи стикеры

OlegKrikun
18.06.2018
09:39:59
включи стикеры
Лучше гифки, чо уж там

Hip
18.06.2018
09:40:38
тут робот

удаляет стикеры

OlegKrikun
18.06.2018
09:40:53
И гифки

Quantum Harmonizer
18.06.2018
09:58:46
list.mapNotNull { it }
filterNotNull()

Google
1337
18.06.2018
09:59:07
вопрос не в этом же был

dimiii
18.06.2018
10:01:10
Ну там map непонятного типа, так что я предположил, что человек ошибся

Andrew
18.06.2018
10:16:11
подкармливаю squirrel в бижайшем park
Да, белки там прикольные. Я с рук кормил.

dimiii
18.06.2018
10:19:11
Andrey
18.06.2018
11:50:33
Подскажите, как это красиво делать? if (view != null) { Snackbar.make(view, msg, Snackbar.LENGTH_LONG).setAction("Action", null).show() } Ругается: Smart cast to 'View' is impossible, because 'view' is a property that has open or custom getter

Kirill
18.06.2018
11:52:16
view?.let {Snackbar.make(it, msg, Snackbar.LENGTH_LONG).setAction("Action", null).show()}

Andrey
18.06.2018
11:53:10
спасибо, что-то вылетело из головы :)

Andrey
18.06.2018
11:56:47
какое-то сообщение об ошибке невнятное

Dibro
18.06.2018
12:00:43
какое-то сообщение об ошибке невнятное
я пример привёл val view = this.view if (view != null) { Snackbar.make(view, msg, Snackbar.LENGTH_LONG).setAction("Action", null).show() } вот так точно работать должно

Andrey
18.06.2018
12:11:48
я бы не назвал этот вариант красивым :)

Alexey
18.06.2018
12:31:38
какое-то сообщение об ошибке невнятное
Эмм, ну из него по крайней мере все понятно, куда уж внятнее?

Андрей
18.06.2018
13:44:26
можно в котлине к typealias extension прикрутить?

Андрей
18.06.2018
13:45:12
ок, спасибо =)

Aleksandr
18.06.2018
13:46:49
можно
только прикрутится по-сути к тому куда alias

например если два typealias на один тип

то к каждому свою функцию не зацепить

что с одной стороны логично а с другой

Google
Андрей
18.06.2018
13:48:09
ну мне к довольно простому случаю типа

ArrayList<LatLng>

Bogdan
18.06.2018
13:50:03
ArrayList<LatLng>
так сделай для него

заем тайп аляс

Андрей
18.06.2018
13:50:25
не логичнее в тайп алиас это пихнуть?

Bogdan
18.06.2018
13:50:54
не логичнее в тайп алиас это пихнуть?
нет, тайп аляс зачастую служить что бы громозкие конструкции предоставить болекомпактно

это больше синтаксическая фича

Андрей
18.06.2018
13:51:10
хм ну может быть

Aleksandr
18.06.2018
13:51:13
typealias UseId = Long

typealias EMail = String

итп

повышать читабельность кода

Bogdan
18.06.2018
13:52:04
typealias UseId = Long
тут ты конкретезируешь, опть же синтаксическая фича

Dibro
18.06.2018
13:52:09
ну мне к довольно простому случаю типа
мне кажется экстеншны лучше на коллекции вообще не вешать

Aleksandr
18.06.2018
13:52:55
но когда хочется EMail.validate и например Phone.validate

Андрей
18.06.2018
13:52:56
мне кажется экстеншны лучше на коллекции вообще не вешать
на коллекции с конкретным типом же, почему нет?

Aleksandr
18.06.2018
13:52:58
уже привет

Андрей
18.06.2018
13:53:17
ну на общие типы может быть

Google
Aleksandr
18.06.2018
13:53:17
в одном месте нельзя будет использовать

Dibro
18.06.2018
13:54:40
лучше сделать функцию-обёртку

Андрей
18.06.2018
13:55:06
Bogdan
18.06.2018
13:55:07
но когда хочется EMail.validate и например Phone.validate
в том то и суть что посути екстеншен привяжется к Long и String? иэто может приводить к последсвиям

Андрей
18.06.2018
13:55:41
как по мне лучше list.removeOutsideCoordinates()

чем хреначить непонятную статику

Bogdan
18.06.2018
13:55:49
не, Phone тож в String
а не увидел, думал про ИД

Aleksandr
18.06.2018
13:57:08
typealias EMail = String typealias Phone = String val EMail.isValid: Boolean... val Phone.isValid: Boolean... и все, печаль, приходится помнить об этом и делать isValidPhone, isValidEmail, итп

Dibro
18.06.2018
13:57:41
??
речь о своих, с генериком. у товарища — ArrayList<LatLng> как помне — лучше process(list), а не list.process()

привычнее, когда у коллекций вызываются только всякие .map .filter и т.д.

ну это сугубо имхо

Quantum Harmonizer
18.06.2018
18:53:28
https://youtrack.jetbrains.com/issue/KT-24981

Bogdan
18.06.2018
18:55:06
Quantum Harmonizer
18.06.2018
18:55:11
trashkalmar
18.06.2018
18:57:34
Оффтоп. У них выскакивает окно "примите условия" и нет реакции на кнопки. Хром. Только у меня так?

Google
trashkalmar
18.06.2018
18:58:25
Промотал. Не реагирует. Смотрю с мобилы, забыл сказать

Bogdan
18.06.2018
18:59:01
trashkalmar
18.06.2018
18:59:48
Открыл второй раз, нажалось. Отбой

Sergey
19.06.2018
06:55:02
Всем привет! Я тут статейку на Хабру написал: https://habr.com/post/414483/ Будет интересно услышать фидбек

Anton
19.06.2018
06:56:43
?

Alex
19.06.2018
07:02:05
Всем привет! Я тут статейку на Хабру написал: https://habr.com/post/414483/ Будет интересно услышать фидбек
Ну.. Практического применения не вижу, а так плюсанул чисто за академическую разработку) Не могу сказать, что это будет хоть как-нибудь полезно для комюнити, но повторюсь - с целью академического изучения вопроса и саморазвития - норм. А так, я предполагаю что учтено крайне мало. Что насчет PostgreSQL with query? Или ленивости? И .. и.. и.. )) Надеюсь все поняли о чем я)

Alex
19.06.2018
07:25:30
++ Между делом, она мне и сейчас нравится(Скала) Правда, не нравится положение ее дел) Глядишь в 2к19-20 году, когда будет что-то известно о релизе 3.0 будет чему порадоваться) Но чет я в оффтоп пошел, сори)

Alexey
19.06.2018
07:26:10
Да всё с ней нормально ¯\_(ツ)_/¯

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