@kotlin_lang

Страница 624 из 982
Adekvatniy
08.04.2018
21:11:12
)

Alexei
08.04.2018
21:11:45
и пишешь в блокноте?)

Adekvatniy
08.04.2018
21:12:07


просто лабу делаю

Google
Adekvatniy
08.04.2018
21:12:24
у нас в инсте джава

но у джавы синтаксис жирный какой-то толстый многословный

я котлин посмотрел, вроде норм

решил попробовать

и вот чет застрял на таком

после с\с++ непривычно очень в некоторых местах

можешь еще вот так val price = mass * (assortment[key] ?: 0.0)
заработало, это что тернарный оператор такой?

Александр
08.04.2018
21:15:15
лучше идею скачай)

Александр
08.04.2018
21:15:26
Adekvatniy
08.04.2018
21:15:31
да у меня есть она

просто в инсте мы на еклипсе джебошим

дома ни идеа пробовал

Google
Adekvatniy
08.04.2018
21:16:09
щаз упоролся в командную строку

это так поиграться

интересно было как джаву компилить

Александр
08.04.2018
21:16:49
проще посмотреть доку котлина, там разберешься с операторами и т.д

Adekvatniy
08.04.2018
21:17:08
я вроде много прочел про него

но до такого не добрался

Александр
08.04.2018
21:17:31
https://kotlinlang.org/docs/reference/null-safety.html#elvis-operator

Adekvatniy
08.04.2018
21:19:41
да котлин я смотрю довольно самобытный

такого я еще не встречал

Alexei
08.04.2018
21:20:18
не это баян

в кофескрипте точно такое было

возможно еще гдет

Dibro
08.04.2018
21:20:34
груви

Leonid
08.04.2018
21:20:51
C#

Alexei
08.04.2018
21:21:05
да так что котлин просто набрался годноты

Pavel ?
09.04.2018
04:52:47
Парни, kotlinPoet можно использовать или есть уже какие-то штатные штуковины?

Руслан
09.04.2018
05:53:55
Парни, kotlinPoet можно использовать или есть уже какие-то штатные штуковины?
Можно, штатного нету и на уровне исходников кажется и не будет

Sergey
09.04.2018
08:23:53
иногда очень не хватает возможности лямбду в анонимную функцию сконвертировать и обратно

Google
Sergey
09.04.2018
08:27:33
ну к примеру когда в коде нужны множественные ретурны, а return@map выглядит в этом плане мягко говоря не очень или если нужно лямбду вынести в отдельную функцию

Quantum Harmonizer
09.04.2018
08:28:49
мне вот именованные функции и function reference нравятся больше, чем локальные

Sergey
09.04.2018
08:30:26
return null :)

Артур
09.04.2018
08:30:50
можно просто писать null

Quantum Harmonizer
09.04.2018
08:32:02
можно просто писать null
только последним выражением

Mikhail
09.04.2018
08:32:52
ну тык

а мноественные ретурны где?

Quantum Harmonizer
09.04.2018
08:34:04
а мноественные ретурны где?
ну типа if (arg == null) return null if (arg.isEmpty()) return null ...

Артур
09.04.2018
08:34:24


Sergey
09.04.2018
08:34:45
Артур
09.04.2018
08:36:04
ну типа if (arg == null) return null if (arg.isEmpty()) return null ...
если это лямбда, нигде return не нужен

Quantum Harmonizer
09.04.2018
08:36:21
Sergey
09.04.2018
08:36:50
если это лямбда, нигде return не нужен
в какой-то момент он может стать нужен и тогда хочется из лямбды сделать функцию

Артур
09.04.2018
08:37:25
Но, зачем?

Sergey
09.04.2018
08:37:35
выше пример был элементарный

Артур
09.04.2018
08:40:59
господи, дошло

Но можно написать так, чтобы в лямбде было только одно выражение

через when или if else

Sergey
09.04.2018
08:43:55
ну лямбды не всегда на 2 строки

Google
Sergey
09.04.2018
08:44:02
и это еще одна причина почему хочется функцию

когда у тебя лямбда разростается на 10+ строк кода, то уже пора функцию делать

Hip
09.04.2018
10:14:15
а точнее - метод

Michael
09.04.2018
10:18:44
почему точнее? функции в котлине даже описываются ключевым словом fun, если есть сомнения: https://kotlinlang.org/docs/reference/functions.html

Arturx
09.04.2018
10:23:39
В котлине то как раз можно делать именно функции, а не методы, тк их можно объявлять за пределами класса

Albert
09.04.2018
10:28:54
Лол

Метод - это частный случай функции

fun - это сокращение от function

Почему же это метод??

Alexey
09.04.2018
10:29:52
потому что это один к одному метод из java

(A) -> B - это уже функциональный тип

James Tiberius Kirk ?
09.04.2018
10:30:38
функция это кусок кода для которого существуют только входные и выходные параметры

Mi
09.04.2018
10:30:39
потому что это один к одному метод из java
метод из джавы может быть обычной функцией в котлине

Alexey
09.04.2018
10:30:40
fun не имеет как такого типа, поэтому не является first level citizen

Albert
09.04.2018
10:30:54
потому что это один к одному метод из java
Ты можешь объявить fun вне тела класса. А метод - не можешь.

James Tiberius Kirk ?
09.04.2018
10:30:57
метод взаимодействует с другими сущностями, отличными от выходных или входных параметров

поэтому в котлине у объектов есть методы

а функции это то, что существует вне классов

Google
Жабра
09.04.2018
10:33:49
fun на котлине может быть и функцией, и методом, в зависимости от контекста. Если fun находится в классе - это метод. Если вне класса - функция.

Albert
09.04.2018
10:34:36
Я бы называли это "нечистой функцией" просто)

Тогда справедливо и обратное. Если в java метод не использует переменные объекта, например, статический метод - то это функция

Michael
09.04.2018
10:36:02
да, получается так

Petr
09.04.2018
10:36:16
А если открыть байткод котлиновского файла, то функция вне класса всё равно окажется в классе

Quantum Harmonizer
09.04.2018
10:36:18
Вы так спорите, как будто есть хоть какая-то разница.

Michael
09.04.2018
10:36:34
вообще-то есть

Alexey
09.04.2018
10:36:46
Нужно ли предъявлять требование к функции, что она должна быть first level citizen?

Petr
09.04.2018
10:37:34
Жабра
09.04.2018
10:37:35
А если открыть байткод котлиновского файла, то функция вне класса всё равно окажется в классе
Это понятно. Но логически говоря - нельзя назвать функцию вне класса методом

Michael
09.04.2018
10:37:49
Person.setName("Name") это точно не функция

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