@kotlin_lang

Страница 248 из 982
Igor
14.07.2017
16:40:02
@angmarr вообще-то документация глаголит что Unit это то же самое, что и void в Java. Так какого чёрта в интеропе этот тезис никак не учитывается?
Да, надо писать как Unit в Scala или вообще окамл (так понятнее? ?). К сожалению в Kotlin приходят из джавки, а не нормальных языков и надо как-то обяснять куда делся void.

Андрей
14.07.2017
16:40:46
Ну так никто не запрещает джавовские функциональные интерфейсы. Тот же Consumer. Вы же с метода, у которого ретурн тайп String, не ждете что он вдруг void станет. Так почему тогда метод, возвращающий Unit, вдруг должен стать void?

Google
Андрей
14.07.2017
16:42:59
Лучше SAM for Kotlin interfaces
SAM - это все таки костыль (кроме джавы, он еще хоть где-то юзается?). Зачем он в котлине, если там функции уже являются функциями высшего порядка.

Quantum Harmonizer
14.07.2017
16:44:17
SAM - это все таки костыль (кроме джавы, он еще хоть где-то юзается?). Зачем он в котлине, если там функции уже являются функциями высшего порядка.
Почему костыль? Он нужен затем, чтобы иметь возможность в одном классе реализовать несколько интерфейсов, имея возможность эти же интерфейсы реализовывать лямбдочками.

Igor
14.07.2017
16:44:35
SAM - это все таки костыль (кроме джавы, он еще хоть где-то юзается?). Зачем он в котлине, если там функции уже являются функциями высшего порядка.
В C# generic делегаты, но имхо тоже костыль, от того что лямбды добавили не сразу (как и в java) (в отличие от kotlin)

Quantum Harmonizer
14.07.2017
16:45:16
Для меня SAM выглядит абсолютно логичным явлением...

Igor
14.07.2017
16:47:36
Для меня SAM выглядит абсолютно логичным явлением...
В том смысле “как добавить в язык лямбды через 20 лет после релиза”? В новых языка так ведь не надо делать?

Quantum Harmonizer
14.07.2017
16:48:56
И функциональный тип, и интерфейс — это некий контракт. Этим они схожи для меня.

Андрей
14.07.2017
16:51:00


Quantum Harmonizer
14.07.2017
16:51:43
Я мыслю с точки зрения экономии объектов и методов в рамках существующей реализации виртуальной машины, но если функции станут бесплатными, то SAM, пожалуй, не нужен.

Это не помогает реализовать несколько интерфейсов в одном классе.

Михаил
14.07.2017
18:14:39
https://geekbrains.ru/posts/tiobe_summer_17

Anton
14.07.2017
18:56:49
о нет джава is dying

Михаил
14.07.2017
18:59:01
Google
Anton
14.07.2017
18:59:29
скретч скоро станет топ1

Михаил
14.07.2017
19:01:28
Теперь понятно, почему на одну вакансию программиста приходится 40 резюме, а трудоустраивать некого - во всем виноват Scratch!

Anton
14.07.2017
19:02:46
откуда это про 1 к 40?)

Михаил
14.07.2017
19:03:36
откуда это про 1 к 40?)
где-то недавно видел постик про такой парадокс, или в видео каком-то слышал

ну по факту весьма похоже на реальность

где-то недавно видел постик про такой парадокс, или в видео каком-то слышал
а, вспомнил, это один программист из мейла в курсе по джава на техностриме сказал

Anton
14.07.2017
19:06:05
чет хз по моему вообще наоборот))

Михаил
14.07.2017
19:06:40
чет хз по моему вообще наоборот))
потому что всем нужны сеньоры, а их нету

Anton
14.07.2017
19:06:53
сеньоры скретча)

Михаил
14.07.2017
19:07:10
сеньоры скретча)
интересно, а есть ли такая вакансия в реальности?

Михаил
14.07.2017
19:09:31
Михаил
14.07.2017
19:10:18
Коечно. Ими лет в 10 становятся
Ну то, что ими становятся, еще не значит, что им трудоустроиться можно

Anton
14.07.2017
19:10:43
да в 10 лет наверно сложно трудоустроится)

Михаил
14.07.2017
19:12:20
(не на скретч, а на норм разраба)

Igor
14.07.2017
19:37:55
Как будто 18летний чем то лучше пятиклассника ?. Сначала университет закончи, а потом уже поговорим.

Михаил
14.07.2017
19:46:17
Как будто 18летний чем то лучше пятиклассника ?. Сначала университет закончи, а потом уже поговорим.
А в чем заключается роль университета при трудоустройстве? (есть пара своих мыслей, но хочу узнать мнение других)

Igor
14.07.2017
19:47:42
Это абсолютно не тема чата, мы тут высказали пару своих имхо и хорош

Михаил
14.07.2017
19:49:09
Dmitriy
14.07.2017
20:13:44
@dshilnikov хорошо, если вспомню напишу
привет ) тебе актуально ещё?

Google
Dmitry
14.07.2017
20:14:09
да конечно, кидай гляну

Dmitriy
14.07.2017
20:14:41
щас попробую, там несколько мест менять надо

короче, в первую очередь надо в build.gradle добавить зависимости некоторые

https://pastebin.com/U2rzLraV

у меня ничего не компилится, если хоть одну из них выкинуть

https://pastebin.com/xAWKdTKx

вот это нужно добавить в какой-нибудь файл в каталоге webpack.config.d

без плагина у меня jQuery не подключался, я хз, может есть какой-то другой способ его подключить

в самом коде на котлине нужно строчку вставить в самое начало runtime.wrappers.require("bootstrap-loader")

после этого у меня всё заработало

Dan
14.07.2017
20:31:03
Всё так

Жабра
14.07.2017
22:27:58


Михаил
14.07.2017
22:29:04
насколько понимаю там не все так просто

Nikita
14.07.2017
22:29:04
Да

Дико бесит

Жабра
14.07.2017
22:29:24


Михаил
14.07.2017
22:30:21
была когда-то речь очень давно в некоторых случаях разрешить смарткаст var переменных, но это скорее всего давно и не правда)

Жабра
14.07.2017
22:31:00
:D

Kirill
14.07.2017
22:32:36
но тут же можно обойтись без if ?

Михаил
14.07.2017
22:32:57
кстати да

Google
Nikita
14.07.2017
22:33:09
Но бывают случаи когда нет

Жабра
14.07.2017
22:33:31
В данном случае нет. Если left не пустой, то мы вызываем на нём рекурсивную функцию, иначе его инициализируем.

Kirill
14.07.2017
22:34:35
можно написать что-то типа left = left?.add(...) ?: create(...)

Жабра
14.07.2017
22:34:40


Admin
ERROR: S client not available

Kirill
14.07.2017
22:35:29
пусть add возвращает this

Жабра
14.07.2017
22:35:58
Так, колитесь, как вы делаете подсветку кода?

пусть add возвращает this

Kirill
14.07.2017
22:36:12
`

перед и после

Nikita
14.07.2017
22:36:37
Так, колитесь, как вы делаете подсветку кода?
` - три таких штуки сверху и внизу

Kirill
14.07.2017
22:36:38
(клавиша с тильдой ~)

` - три таких штуки сверху и внизу
тогда можно код на несколько строк

Nikita
14.07.2017
22:37:06
В телеграмме, вообще, заявленна полная поддержка markdown и html

Kirill
14.07.2017
22:37:10
если одна ` — то только в рамках одной строки

Жабра
14.07.2017
22:38:39
Спасибо. :)

A это хорошая затея, кстати.) Спасибо.

Google
Жабра
14.07.2017
22:42:14
можно написать что-то типа left = left?.add(...) ?: create(...)

пусть add возвращает this

Kirill
14.07.2017
22:43:38
A это хорошая затея, кстати.) Спасибо.
эта идея называется https://en.wikipedia.org/wiki/Fluent_interface :)

Жабра
14.07.2017
22:44:47
Не слышал, щас чекну.) Хотя единственное что мне не нравится - это излишние действия *ссылки будут "перебиваться", когда рекурсия пойдёт обратно*

Михаил
14.07.2017
23:20:21
никто не пробовал саспенд функции из джава кода вызывать? сильно больно получается?

а. все просто. их нельзя вызывать из джавы)

jacoder
14.07.2017
23:31:29
var переменная. А вдруг к ней доступ из нескольких потоков? Поэтому смарткаста нет.

Андрей
15.07.2017
00:32:04
И даже если не из разных потоков, то смарткаста всеравно не будет. Так как гет переопределяемый. И ничто не мешает написать его так, чтоб null вообще как-то рандомно возвращался. (а почему бы и нет? генерируем рандомное число от 0 до 1, если больше чем 0.5, то возвращаем null). В результате если в ифе при проверке null не вернулся, то не значит что и при следующем вызове (тело ифа) тоже не вернется null.

Dmitry
15.07.2017
06:56:57
Используй ?.let()

Кто читал jcip, тот знает, что (a != a) может быть true

You
15.07.2017
10:29:36
привет, подскажине kotlin-way решение для такой ситуации: в активити есть вьюха, к которой можно привязать листенер с тремя обязательными для переопределения методами, но мне нужен только один

хочу красиво сделать

marabu
15.07.2017
10:30:37
хочу красиво сделать
Экстеншн для вьюхи?

You
15.07.2017
10:30:57
вьюха не кастомная

Pavlo
15.07.2017
10:30:57
EditText + TextWatcher?)

You
15.07.2017
10:31:16
tabLayout

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