
Mikhail
01.08.2018
07:57:02
это то, чего реально не хватает инфиксным функциям

Bogdan
01.08.2018
07:59:07

Dmitry
01.08.2018
08:39:20
ребят а вот вопрос как правильно писать в котлине класс у которых только статические методы?

Google

Dmitry
01.08.2018
08:39:37
типо вспомогательных классов

Pavel
01.08.2018
08:40:38

Andrew
01.08.2018
08:40:57
1) Использовать ключевое слово object
2) Не писать вообще.

Mikhail
01.08.2018
08:41:02

Dmitry
01.08.2018
08:41:20
ого 0_0 сколько решений...

Pavel
01.08.2018
08:42:18

Dmitry
01.08.2018
08:43:24

Pavel
01.08.2018
08:43:28
зачем класс, если тебе нужна просто функция?

Andrew
01.08.2018
08:43:57

Pavel
01.08.2018
08:44:16

Google

Dmitry
01.08.2018
08:44:47

Andrew
01.08.2018
08:45:18

Bogdan
01.08.2018
08:45:25
идеоматично: top-level или extensions

Pavel
01.08.2018
08:45:39

Konstantine
01.08.2018
08:45:48

Dmitry
01.08.2018
08:46:30
ну вот да, я джавист видимо до мозга костей, и понимаю это другой язык и возможно нужно писать по другому

Loljeene
01.08.2018
08:46:38
Стринги плохой пример. Там вообще непонятно как дизайнили и почему часть методов в утилитах

Bogdan
01.08.2018
08:46:44

Konstantine
01.08.2018
08:47:30

Dmitry
01.08.2018
08:47:33

Andrew
01.08.2018
08:47:53
джавистом так привычнее и понятнее =D
Вот я и говорю, для того, чтобы библиотеку удобно было использовать джавистом, компаньоны с @JvmStatic на методах -- ок.
Хотя в случае с TextUtils логично писать отдельный файл с чем-то вроде
@file:JvmName("TextUtils")
fun String.isEmpty(input: String) = ...
Для джавки это превратится в привчный Utils-класс, из котлина можно продолжать использовать экстеншн-метод.

Alexandr
01.08.2018
08:47:54
нету

Bogdan
01.08.2018
08:48:30

Andrew
01.08.2018
08:48:32

Bogdan
01.08.2018
08:48:50

Konstantine
01.08.2018
08:49:00

Andrew
01.08.2018
08:49:51
Ты то именно про длину строки написал. ?
Потому что пояснять об удобстве человеку, который только начал работать с новым языком, особого смысла нету -- он к этому сам придёт (ну или не придёт). Ему такой довод будет чужд.

Quantum Harmonizer
01.08.2018
08:49:53

Pavel
01.08.2018
08:49:58

Google

Quantum Harmonizer
01.08.2018
08:50:17

Vladimir
01.08.2018
08:50:37

Quantum Harmonizer
01.08.2018
08:50:46

Andrew
01.08.2018
08:50:47

Mikhail
01.08.2018
08:50:59

Quantum Harmonizer
01.08.2018
08:51:07

Andrew
01.08.2018
08:51:44

Vladimir
01.08.2018
08:52:06
это и есть статик
Я бы не стал отождествлять extension и вспомогательный static-метод. Только полиморфизма не хватает.

Quantum Harmonizer
01.08.2018
08:52:48

Vladimir
01.08.2018
08:53:06

Konstantine
01.08.2018
08:55:11

Andrew
01.08.2018
08:56:15

Quantum Harmonizer
01.08.2018
08:57:37
по-моему, самый большой профит — это порядок, в котором слова написаны — isEmpty(str) или str.isEmpty

Andrew
01.08.2018
08:58:30
Хороший аргумент, учту.

Mikhail
01.08.2018
08:59:01
или питон

Quantum Harmonizer
01.08.2018
08:59:30
(-> (replace str x y) trim isEmpty)

Egor
01.08.2018
08:59:37
Хах, берём функциональный язык, делаем из него ООП через пайпы:
string |> isEmpty()

Mikhail
01.08.2018
09:00:28

Konstantine
01.08.2018
09:01:35

Google

dimiii
01.08.2018
09:03:04

Andrew
01.08.2018
09:03:26

dimiii
01.08.2018
09:03:30
Как раз тот момент, когда полезно знать java, изучая kotlin

Konstantine
01.08.2018
09:03:37

Admin
ERROR: S client not available

Quantum Harmonizer
01.08.2018
09:04:05

Konstantine
01.08.2018
09:04:50

Евгений
01.08.2018
09:04:51
юзаю extension-ы чтоб удобнее была писать типа
val sb = StringBuilder()
sb.addMyShit("MyShit")

dimiii
01.08.2018
09:06:08

Konstantine
01.08.2018
09:06:48

dimiii
01.08.2018
09:07:23

Konstantine
01.08.2018
09:08:08
Если бы все всегда воспринималось людьми из коробки - было бы круто.

dimiii
01.08.2018
09:09:00

Konstantine
01.08.2018
09:10:22
Тут вон неновички не всегда понимают зачем им сахар

dimiii
01.08.2018
09:10:54

Quantum Harmonizer
01.08.2018
09:11:47

Igor
01.08.2018
09:12:15

Mikhail
01.08.2018
09:13:42

Google

Egor
01.08.2018
09:14:35

Alexandr
01.08.2018
09:15:48

Pavel
01.08.2018
09:16:06

Igor
01.08.2018
09:16:18

Vladimir
01.08.2018
09:16:34

Egor
01.08.2018
09:17:13
Точнее
Что там есть такого из фич, что есть в котлине, например

Pavel
01.08.2018
09:18:05

Igor
01.08.2018
09:18:06

dimiii
01.08.2018
09:18:35
https://github.com/dart-lang/sdk/issues/16900 я тоже балуюсь с Dart-ом (такой себе однопоточный котлин)

Quantum Harmonizer
01.08.2018
09:18:49

Egor
01.08.2018
09:19:02
Мне просто внезапно понадобилось в мультиплатформу, вот я и посмотрел на Флаттер
Да и дарт давно хотел попробовать