
Михаил
09.04.2017
14:08:00
насколько хаскель легкий в рантайме относительно джавы?
фак. он не jvm язык

Boris
09.04.2017
14:08:55
для андроида-то поди джава в рантайме очень легкая

Руслан
09.04.2017
14:09:20

Google

Kirill
09.04.2017
14:09:29

Михаил
09.04.2017
14:12:08
https://github.com/ppelleti/frege-on-android/blob/master/src/main/frege/org/funwithsoftware/frege_example/FregeCode.fr
компактненько

Igor
09.04.2017
14:53:00
компактненько
Пропробуй F#, это как хаскель только без IO монады, зато с (опциональным) классами и OOP.
Поддержка хорошая через Xamarin Android
фак. он не jvm язык
Очевидно что нет, он же ленивый и с тайп классами - это ужастно работает на JVM

? animufag ?
09.04.2017
14:57:25

Igor
09.04.2017
14:59:57

? animufag ?
09.04.2017
15:00:19

Igor
09.04.2017
15:03:55

Quantum Harmonizer
09.04.2017
15:04:10

? animufag ?
09.04.2017
15:05:14
я чёт представлял платформонезависимый ассемблер, ну ладно

Диёр
09.04.2017
15:06:10
Если я начну писать проект на котлин, то в случае когда проект придётся дописывать/поддерживать java программисту с этим ведь никаких сложностей не будет?

Igor
09.04.2017
15:06:11

Google

Quantum Harmonizer
09.04.2017
15:06:21

Igor
09.04.2017
15:07:12

Quantum Harmonizer
09.04.2017
15:07:28

Igor
09.04.2017
15:07:53
Что?
https://en.wikipedia.org/wiki/Jasmin_(software)

Диёр
09.04.2017
15:08:11

Sergey
09.04.2017
15:08:58
доку придется почитать джавистам)
чтобы потом не удивляться очередным пазлерам

Quantum Harmonizer
09.04.2017
15:10:34

Igor
09.04.2017
15:34:07
@Harmonizr > Там главным образом геттеры всяких штук, связанных с persistence. Ну и это:
Кстати Бреслав рассказывал (на последнем jpoint) что они как раз работают над тем,
что бы твоя "прослойка" связывалась автоматически с реализациями на разных платформах.
https://twitter.com/serjic/status/850620999813009408
В общем вектор такой, но про тайп-классы они тоже думают

Quantum Harmonizer
09.04.2017
16:00:21
О, и правда вектор :)
Теперь очень хочется, чтобы они всё-таки закрыли баги и проблемы с меткой Performance Problem...

Sasha
09.04.2017
17:00:26

Igor
09.04.2017
17:03:48

Sasha
09.04.2017
17:04:13

Igor
09.04.2017
17:06:04
два
Жалко.
У меня появилась идея разбить проект на модули и вынести их в отдельные maven репозитории (через jitpack.io).
Думал поможет быстрее собирать (и архитектура ПО улучшится).

Sasha
09.04.2017
17:11:00

Quantum Harmonizer
09.04.2017
17:31:20
Не думаю, что студия чем-то отличается от идеи (крме урезанности).
Но инкрементальная компиляция — вроде норм.

Sasha
09.04.2017
17:32:58

Google

Max
09.04.2017
17:42:55
Lazy
Ну и второй вариант можно использовать

Igor
09.04.2017
17:44:33
Ну Kotlin регексы, это просто сахар над java.util.regex.Pattern
И вообще у тебя код разный (попробуй переписать с find/findAll)

Sasha
09.04.2017
17:45:16
спасибо.

Alexandr
09.04.2017
17:55:45
Проверь еще regex на наличие backspace
Есть подозрение что делается лишняя работа при проверке ппттерна

kalkancrypt
09.04.2017
18:07:29
что тут может быть не так? значение листу не могу присвоить
val fileList : List<String>
ZipFile(Paths.get("somedir").toFile()).use { zf ->
fileList = zf.entries().toList().filter { !it.isDirectory }.map { it.name }
}

Sasha
09.04.2017
18:10:59

Alexandr
09.04.2017
18:12:06
Ok. Thks.
http://regexr.com я вот тут проверяют
http://www.regexpal.com/ и тут

Sasha
09.04.2017
18:24:20
http://www.regexpal.com/ и тут
Я это обычно юзаю https://regex101.com/ Да дело даже не в регулярке, на дваже она работает быстрее. Попробую сейчас без сахара переписать

Dzmitry
09.04.2017
19:09:52

Igor
09.04.2017
19:32:29
А что у тебя за входные данные? Пытаюсь повторить, не могу получить таких цифр.

Sergey
09.04.2017
20:02:59
одному мне не хватает возможности в идее конвертировать лямбду в функцию и обратно?

Sasha
09.04.2017
20:08:00

Igor
09.04.2017
20:08:39

Sasha
09.04.2017
20:09:05
4pda .ru

Igor
09.04.2017
20:10:10
4pda .ru
Ты на телефоне тестируешь? На па это десятки мс

Sasha
09.04.2017
20:10:53

kalkancrypt
10.04.2017
04:21:29
Приветствую. Не подскажете, что тут может быть не так? значение листу не могу присвоить
val fileList : List<String>
ZipFile(Paths.get("somedir").toFile()).use { zf ->
fileList = zf.entries().toList().filter { !it.isDirectory }.map { it.name }
}

Google

Boris
10.04.2017
04:22:32
MutableList
Нужен

kalkancrypt
10.04.2017
04:30:48
Но ведь я всего лишь объявил, присвоить ведь можно позже?
val c: Int // Type required when no initializer is provided
c = 3 // deferred assignment

Andrew
10.04.2017
04:35:10
lateinit не работает? Но в целом мьютабл тут логичнее, или перестроить выражение так, чтоб лист возвращался.

kalkancrypt
10.04.2017
04:50:05
А зачем mutable, если я ничего не меняю? Просто хочу понять ) use же не возвращает значение

Kirill
10.04.2017
04:57:00
компилятор не знает, в какой момент вызовется лямбда переданная в use и вызовется ли вообще
соответственно нельзя гарантировать, что fileList будет присвоен

Admin
ERROR: S client not available

Kirill
10.04.2017
05:00:39
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.io/use.html

kalkancrypt
10.04.2017
05:15:34
понял, все логично. проще говоря, компилятор заранее защищает от недоприсваивания или переприсваивания. спасибо.
а как значение use вернуть? так ведь нельзя
val fileList : List<String> = ZipFile(Paths.get("somedir").toFile()).use { zf ->
return fileList = zf.entries().toList().filter { !it.isDirectory }.map { it.name }
}

Boris
10.04.2017
05:54:53
Рекомендую, код в ``\\\`` оборачивать
Мда

Kirill
10.04.2017
05:55:34
убери return
будет работать
так как use инлайнится, return возаращает из метода в котором объявлена лямбда

Boris
10.04.2017
05:57:29
Из лямбды по умолчанию вообще ретурном не выйти, только если уточнить через собаку

Kirill
10.04.2017
05:57:37
val fileList: List<String> = ZipFile(Paths.get("somedir").toFile()).use { zf ->
zf.entries().toList().filter { !it.isDirectory }.map { it.name }
}
да, в этом случае синтаксис будет таким
val fileList: List<String> = ZipFile(Paths.get("somedir").toFile()).use { zf ->
return use@zf.entries().toList().filter { !it.isDirectory }.map { it.name }
}

kalkancrypt
10.04.2017
06:21:04
просто код писал с телефона, там обратного апострофа нет
и меткой не возвращает результат
Type inference failed. Expected type mismatch: inferred type is List<String!> but Unit was expected

Google

Quantum Harmonizer
10.04.2017
06:28:39

kalkancrypt
10.04.2017
06:30:42
Облажался )

XENONIUM
10.04.2017
06:31:43
`

Марат
10.04.2017
08:44:06
Доброго времени суток) кто то сталкивался с проблемой связанной с kotlinx.android.synthetic : при обращении к TextView все нормально, но при обращении к другим элементам (Button, RecyclerView) они падают с NPE

Evgeny
10.04.2017
08:44:25
ты где-то косячишь
покажи код

Quantum Harmonizer
10.04.2017
08:45:39

Марат
10.04.2017
08:51:07
Не, все то импортировал, в одной xml все. Из нее же он видит TextView и сетит им текст и пр. А из той же xml листенер на кнопку не может засетить. Причем если явно инициализировать через findViewById то все работает.

? animufag ?
10.04.2017
12:40:21
Кто-нибудь пользовался всерьёз Anko?
Так со стороны кажется что всё это здорово и вьюхи можно круто переиспользовать, наследовать и тд, но боюсь что в итоге может оказаться что ей пользуется очень мало людей, слабая поддержка для редких каких-нибудь юз кейзов и новых фич.
Отдельный вопрос удобно ли ей пользоваться если большая часть интерфейса описана в xml
Также у неё был плагин для wysiwig который пол года назад поломался с новой студией. Сейчас дела хуже/лучше?

Pavel
10.04.2017
12:43:14
Я пользовался Анко, но не на сложных интерфейсах, замерял производительность на слабых устройствах, оказалось что отрисовка происходит на 20 процентов быстрее, нет поддержки констрейнт лайаута, остальные лайауты приходится дописывать по ходу экстеншн функциями


Quantum Harmonizer
10.04.2017
12:44:17
Кто-нибудь пользовался всерьёз Anko?
Так со стороны кажется что всё это здорово и вьюхи можно круто переиспользовать, наследовать и тд, но боюсь что в итоге может оказаться что ей пользуется очень мало людей, слабая поддержка для редких каких-нибудь юз кейзов и новых фич.
Отдельный вопрос удобно ли ей пользоваться если большая часть интерфейса описана в xml
Также у неё был плагин для wysiwig который пол года назад поломался с новой студией. Сейчас дела хуже/лучше?
Я пользуюсь. Не сказал бы, что это в стопицот раз удобнее XML, но мне нравится.
Можно делать свои преднастроенные вьюхи, типа mySuperCustomEditText(), поудобнее, чем в XML. Есть косяки андроида, из-за которых не все вьюхи, созданные из XML, корректно работают.
Интеропится с XML легко.

Pavel
10.04.2017
12:45:10
А ты делал датабайндинг через Анко?

Quantum Harmonizer
10.04.2017
12:45:45

Pavel
10.04.2017
12:46:26
“Data Binding in Anko” @Lewisrhine https://medium.com/lewisrhine/data-binding-in-anko-77cd11408cf9

Quantum Harmonizer
10.04.2017
12:47:50
В чём там основная суть? Почитал бы с радостью, но надо писать код)

Pavel
10.04.2017
12:48:43
Реализация датабайндинга через Анко) это я к тому, что это вполне можно представить) у меня руки не доходили попробовать, поэтому и спросил

? animufag ?
10.04.2017
13:00:53
обычно двусторонние биндинги как-то не особо нужны.
из презентера/контроллера во вьюху монолитно поступают сразу все нужные данные
из вьюхи обратно, обычно отдельная обработка на каждый ввод
хотя удобно когда есть гарантии, что все поля объекта актуальны
> нет поддержки констрейнт лайаута, остальные лайауты приходится дописывать по ходу экстеншн функциями
не уверен что захочу пользоваться констрейнт лэйаутом, но в целом звучит не очень