
Даниил
26.01.2018
08:13:25
ну средненький, для мейнстрима хороший, но в плане системы типов до хаскеля ему далеко конечно)

Vitalii
26.01.2018
08:13:31

Даниил
26.01.2018
08:13:34

balolam
26.01.2018
08:13:52
нет
Зачем вам тогда там sealed класс?

Google

Artem
26.01.2018
08:14:10
Много чего говорят. Только вот говорить "нормальный" о том, к чему ты привык — ну такое себе

Даниил
26.01.2018
08:14:40

Igor
26.01.2018
08:14:49

Artem
26.01.2018
08:15:25
И пытаться делать в одном языке так, как вы делали в другом — плохой тон. Надо делать так, как позволяет делать это текущий язык

Даниил
26.01.2018
08:15:27

Igor
26.01.2018
08:16:00

Даниил
26.01.2018
08:16:07

balolam
26.01.2018
08:16:22

Даниил
26.01.2018
08:16:43

Artem
26.01.2018
08:16:46

Даниил
26.01.2018
08:16:55

balolam
26.01.2018
08:17:47

Даниил
26.01.2018
08:17:52

Google

Artem
26.01.2018
08:18:11
Если его решили сделать депрекейтед, значит так решили. Котлин делает не два школьника после уроков, а за ним целая компания. Решили — надо. Но при этом успевают и к коммьюнити прислушаться
Объясните, почему вам это нужно и изложите красиво на гитхабе. Вдруг прислушаются (нет)

balolam
26.01.2018
08:19:49
И зачем плодить "дополнительные вопросы для собеседований" делая язык менее очевидным, если вам вот никто не запрещает написать то что вам нужно не на Kotlin

Artem
26.01.2018
08:21:41

Даниил
26.01.2018
08:21:44
мне как раз кажется что это более очевидно, чем наличие какого-то немотивированного исключения из общего принципа
ну да ладно

balolam
26.01.2018
08:23:31
Ответьте на вопрос, зачем дата класс у которого нет полей для которых нужно что-то генерировать?

Даниил
26.01.2018
08:23:53
чтобы генерировался правильный equals и toString
очевидно же
конечно, я могу это руками сделать
только вот это выглядит как усложнение а не упрощение
разве нет?

balolam
26.01.2018
08:26:35

Даниил
26.01.2018
08:26:57
ну я же всё написал уже
Dummy() == Dummy() всегда true
Dummy().toString() == "Dummy()"

balolam
26.01.2018
08:28:04
Тогда вам в object классы или enum

Даниил
26.01.2018
08:28:36

Bogdan
26.01.2018
08:28:49
Можете сделать в сайлед классе базовые реализации
То строго это класснаме

Google

Bogdan
26.01.2018
08:29:25
Еквелс проверять класы

Даниил
26.01.2018
08:29:53
да могу-то конечно

Bogdan
26.01.2018
08:29:56
И котлин не ломаете и вам неплохо

Даниил
26.01.2018
08:30:02
я же не говорю что нельзя в принципе это обойти
я просто ругаюсь на очень странно мотивированный депрекейт
который не упрощает а только усложняет

balolam
26.01.2018
08:30:28
https://kotlinlang.org/docs/reference/data-classes.html

Даниил
26.01.2018
08:30:35
хотя вроде как само наличие возможности сделать так никому не мешало если кому-то эта фича не нужна была

Bogdan
26.01.2018
08:30:54
Ну и в чем проблема, вам лень два метода написать?

balolam
26.01.2018
08:31:06
Ваша понимание дата классов, как по мне, сильно отличается от того что было заложено разработчиками

Даниил
26.01.2018
08:31:59

balolam
26.01.2018
08:32:12
Или вы относитесь к тем людям, которые считают что для каждого их частного кейса у них должен быть специальный инструмент в языке

Bogdan
26.01.2018
08:32:33
А можно чела кликнуть

Даниил
26.01.2018
08:32:39

Bogdan
26.01.2018
08:32:40
Я не злой
Но если не нравится язык не юзай

balolam
26.01.2018
08:33:01

Даниил
26.01.2018
08:34:07
Тогда вам в issue)
ну я конечно может напишу
но язык уже в стабильной версии, сейчас-то даже если не учитывать всякие разногласия протолкнуть что-то в него сложнее наверное

Vladimir
26.01.2018
08:36:10

Даниил
26.01.2018
08:38:23

Google

Angelina
26.01.2018
09:43:30
Всем привет! Проводим в Ростове-на-Дону митап со свободным входом, есть возможность послушать о Kotlin от Романа Елизарова - первого, так сказать, лица :) Вход,повторюсь, свободный, угощаем пиццей и напитками ? Вся инфа здесь: https://vk.com/devexperts?w=wall-35463211_453

Культиватор Джо
26.01.2018
10:02:31
Господа, есть вопрос по форматированию. Есть какие-то правила для наличия/отсутствия отступа для полей или методов в классе.

Евгений
26.01.2018
10:04:52
эм, это как договоритесь в команде

Vitalii
26.01.2018
10:04:56
Вкусовщина.

Культиватор Джо
26.01.2018
10:08:29
То есть стайлгайда по этому вопросу нет?
Ок.

Sergey
26.01.2018
10:12:39

Igor
26.01.2018
10:21:19
Конечно же так
class Example(private val digit: Int) {
fun plus(x: Int): Int = dight + x
fun minus(x: Int): Int = digit - x
}

Культиватор Джо
26.01.2018
10:21:59

Sergey
26.01.2018
10:22:21
в kotlin style guide пустая строка требуется только если заголовок класса содержит несколько строк
class MyFavouriteVeryLongClassHolder :
MyLongHolder<MyFavouriteVeryLongClass>(),
SomeOtherInterface,
AndAnotherOne {
fun foo() {}
}

Igor
26.01.2018
10:22:38

Sergey
26.01.2018
10:46:18
а еще лучше operator

Sergey
26.01.2018
11:02:38
: Int лишние)
если это библиотченый код и public, то я бы оставил тип. иначе при любом изменении в код после = поменяется api

Sergey
26.01.2018
11:03:07
если это библиотечный код то там будет интерфейс с явными типами

Sergey
26.01.2018
11:03:48
согласен ? но интерфейс не всегда возможен, из за того что нельзя final и inline

Igor
26.01.2018
11:13:37
: Int лишние)
Да вот не знаю, хинты IDEA занимают столько же места. Не понятно в чем профит.

Google

Sergey
26.01.2018
11:13:49
хинты выключить можно)

Vitalii
26.01.2018
11:17:18

Ivan
26.01.2018
11:18:21

Sergey
26.01.2018
11:18:21

Igor
26.01.2018
11:20:03
Ну такое, это же работает только в expression-functions.
А вообще люблю конечно это дело в ML языках, там типы везде выводятся.

Sergey
26.01.2018
11:23:16

Konstantine
26.01.2018
11:26:58
Есть у нас какой-то изи способ быстро инпут стрим в массив байтов переделать?

Ivan
26.01.2018
11:28:14

Igor
26.01.2018
11:28:36

Sergey
26.01.2018
11:32:05
InputStream.readBytes - есть такое в kotlin std lib

Ivan
26.01.2018
11:33:09

Kirill
26.01.2018
11:34:47

Sergey
26.01.2018
11:34:59
https://youtrack.jetbrains.com/issue/UP-7810

Ivan
26.01.2018
11:35:18

Andrew
26.01.2018
17:08:41
На самом деле присоединился бы к вопросу касательно data class без полей, ибо сейчас у меня есть sealed class с пачкой наследников, часть из которых data-классы (надо сравнивать по полям), часть -- object-ы, и для последних .toString() выдаёт qualified name и instance id, которые выглядят так себе -- хотелось бы видеть MyClass() вместо com.example.company.project.package.MyClass@601d768d. Писать на каждый object ради этого .toString() лень.
Не то, чтобы это мешало решать задачи, как получается у @KolesnichenkoDS, но всё ещё.

Nikolay
26.01.2018
17:21:21
создай обычный класс и переопредели equals и hashCode
class None : SomeSealedClass() {
override fun equals(other: Any?) = javaClass == other?.javaClass
override fun hashCode() = javaClass.hashCode()
}