@kotlin_lang

Страница 460 из 982
Anton
18.12.2017
13:58:49
Margaryta
18.12.2017
14:08:13
Я еще на разборе полётов увидела)

Anton
18.12.2017
14:11:59
нежданчик
не вижу ничего неожиданного :)

Google
Руслан
18.12.2017
14:12:43
Ну ладно, офтопить умеешь, а за Котлин топить будешь?)

Anton
18.12.2017
14:13:55
за что успею, за то и буду. Котлин, думаю, от меня никуда не денется

Vadim
18.12.2017
15:27:10
Тут такая беда, почему не могу для двух в принципе одинаковых методов использовать один и теже переменные, приходится для одних использовать val touchX = event.x val touchY = event.y для других же подходят только: val touchRawX = event.rawX val touchRawY = event.rawY

Konstantin
18.12.2017
15:59:22
@android_ru

Vadim
18.12.2017
16:25:02
только не все сразу))

Nikita
18.12.2017
19:06:46
Всем привет. Опять я со своим kotlin js. Собственно, kotlinc-js справляется замечательно, а вот kotlin в проекте и с вебпаком не работает от слова совсем. Пишет что не может найти kotlin.math

https://github.com/frontend-park-mail-ru/2017_2_glitchless/tree/collision-refactor

Вот исходники

npm run watch

@HeapyHop в прошлый раз хорошо помог :)

Vadim
19.12.2017
08:48:00
что значит "одинаковых методов"?
Ну то есть и там и там я работаю с одной осью координат

Google
Ivan
19.12.2017
08:48:58
но типы возвращаются разные?

Vadim
19.12.2017
08:54:14
@ivan_osipov у методов да, в одном случае Boolean, в другой Float

@ivan_osipov пока связи не ловлю если честно.

@ivan_osipov сделал так, чтобы оба метода возвращали Boolean, ситуация не поменялась

Ivan
19.12.2017
09:07:36
@ivan_osipov пока связи не ловлю если честно.
я правильно понимаю, что "одинаковыми методами" ты называешь свойства x и rawX? ничего другого что ассоциировалось бы с методами я не вижу

Vadim
19.12.2017
09:11:00
@ivan_osipov если с выкладкой кода то будет что то следуещее val touchX = event.x val touchY = event.y val touchRawX = event.rawX val touchRawY = event.rawY if (helper.checkTheClickableArea(touchX, touchY, centerX, centerY, radius)) performSelectorClick(touchRawX, touchRawY) Данное решение работает, но я сейчас хочу использовать в качестве переменных что то одно, или event.rawX/event.rawY или event.X/event.Y, но увы если использую что то одно, методы работают некорректно, вот и собственно вопрос почему? ведь по сути это одно и то же

Ivan
19.12.2017
09:17:07
Vadim хочется одну переменную для двух значений разных типов использовать?

Anton
19.12.2017
09:18:29
ну может потому что x и rawX это разные вещи?

причем тут котлин вообще

Vadim
19.12.2017
09:20:33
@ivan_osipov eventRawX и eventRawY к примеру у меня определяют абсолютные координаты на графике(при нажатии) eventX и eventY у меня также определяют координаты на этом же графике. Возвращаемые типы одинаковые по сути или что вы конкретно имеете в виуд?

@antonkazakov я пишу на Kotlin, или тут только место для общих вопросов? Не думаю...

Anton
19.12.2017
09:21:19
тут место для вопросов по языку конкретно

Vadim
19.12.2017
09:22:43
@antonkazakov "обожаю" таких участников групп как Вы. Но и спорить с Вами не собираюсь.

Nick Senchurin
19.12.2017
09:29:15
подскажите, как то можно добавить фильтр в коллекцию без if else? if(b) arr.map{} else arr.filter{}.map{}

ну чтобы это как то одной цепочкой было?

Chaban
19.12.2017
09:30:36
arr.filter{if(b) true else it == something)}.map{}

отдавать в фильтре все елементы ?

Nick Senchurin
19.12.2017
09:31:37
мне надо замапить коллекцию и если есть некий критерий b = true перед мапингом фильтрацию сделать

Chaban
19.12.2017
09:32:24
ну делай условие в фильтре которое или будет все отдавать или фильтровать

sherzod
19.12.2017
09:34:33
Вместо if (a) arr else arr.filter(b) нужно arr.filter(a || b)

Google
Ivan
19.12.2017
09:35:31
@ivan_osipov eventRawX и eventRawY к примеру у меня определяют абсолютные координаты на графике(при нажатии) eventX и eventY у меня также определяют координаты на этом же графике. Возвращаемые типы одинаковые по сути или что вы конкретно имеете в виуд?
судя по всему проблема в логике действий, если ты работаешь с абсолютными координатами, то и обработка у тебя отличается от любых других. Грубо говоря, врядли ты будешь обрабатывать х = 1024 (в диапазоне от 0 до 1024 ) точно так же, как х = 1.0 (в диапазоне от 0 до 1.0). Скорее всего эти значения попросту и не нужно складывать в одно место, а если они еще и разного типа, то это в принципе не получится сделать, если только с кучей небезопасных кастов

Nick Senchurin
19.12.2017
09:36:26
Там разные мапы?
нет, они одинаковые

? animufag ?
19.12.2017
09:37:13
Ну неправильный синтаксис но вы поняли

Chaban
19.12.2017
09:37:52
да затупил в фильтре if жи не нужен

Nick Senchurin
19.12.2017
09:41:55
filter (b || it == something)
спасибо, сейчас попробую

Vadim
19.12.2017
11:43:10
а range всегда приводит к Int типу?

Quantum Harmonizer
19.12.2017
11:44:16
Vadim
19.12.2017
11:44:56
Ну у меня есть некий интервал с float значениями, он их приводит к int или нет?

то что вижу в офф документации Integral type ranges (IntRange, LongRange, CharRange) have an extra feature: they can be iterated over

? animufag ?
19.12.2017
11:48:17
Range is defined for any comparable type

? animufag ?
19.12.2017
11:49:25
Аа ну да

Vadim
19.12.2017
11:49:47
Может можно как то хитро преобразовать во float?) типо кастануть возможно?

? animufag ?
19.12.2017
11:49:49
Видимо из обычных ренджей только принадлежность можно вытащить

Ну на самом деле как ты по флоату собираешься идти?

Dibro
19.12.2017
11:50:19
? animufag ?
19.12.2017
11:50:29
Там же нужно однозначно шаг задать

Vadim
19.12.2017
11:50:48
Dimas и делать что? интрэндж?

Google
Admin
ERROR: S client not available

Dibro
19.12.2017
11:51:11
а-ля float1.toInt().rangeTo(float2.toInt())

Vadim
19.12.2017
11:59:15
Dimas да, но это преобразование в Int, а мне же надо во Float

Dimas то есть если я правильно понял, у меня сейчас range состоит из float, которые и так преобразуются в int, а мне надо чтобы читались как float

Vadim
19.12.2017
12:02:46
Dimas получилась такая колбаса) calculateTheDistance(touchX, touchY, startPoint, endPoint) in (radius * (1 - ((arcWidthRatio + arcSelectionRatio) * 2))).toInt().toFloat().rangeTo(radius.toInt().toFloat())

Sergey
19.12.2017
12:03:15
а сразу toFloat нельзя сделать?

Vadim
19.12.2017
12:04:00
@Enleur так у меня эти два значения и так float)

Dibro
19.12.2017
12:04:26
? animufag ?
19.12.2017
12:44:52
то что вижу в офф документации Integral type ranges (IntRange, LongRange, CharRange) have an extra feature: they can be iterated over

зачем это было писать

ну тем не менее стало интересно как сделать итератор побыстрее, ну то есть лямбда возвращающая T? аналог unfold вроде такого нету

зато есть абсолютно отвратительный AbstractIterable

и куча Short- Int- Long- замедляющих поиск по документации. и на них даже нет пометки что это джвм-специфик то есть вся эта дрянь распространяется зачем-то и на остальные платформы

Nikita
19.12.2017
13:31:38
Народ подскажите, есть возможность создать ссылку на класс с дженерик полем, заранее известным? Например Responce<in Message>::class.java?

? animufag ?
19.12.2017
13:37:18
нет и какой смысл если информация о дженерике пропадёт

Nikita
19.12.2017
13:38:01
да вот тоже думаю не херней ли я занимаюсь...

? animufag ?
19.12.2017
13:38:36
ну можно унаследоваться от конкретного дженерика и суперкласс у наследника будет кайнд оф класс с дженерик полем

Google
? animufag ?
19.12.2017
13:39:05
но лучше переформулировать вопрос

Igor
19.12.2017
14:31:19
Тут Kotlin Native 0.5 релизнулся…

https://blog.jetbrains.com/kotlin/2017/12/kotlinnative-v0-5-released-calling-kotlin-from-swift-and-c-llvm-5-and-more/#more-5635

Artyom
19.12.2017
14:52:37
Быстро они однако

Учитывая как недавно был анонсирован 0.4

snpefk
19.12.2017
16:29:53
А если осилил всю доку, то есть ли смысл читать Kotlin in Action?

Alexander
19.12.2017
16:30:55
есть, там более структурировано описано

легче запоминать и применять. И вообще, учебники читать полезно!

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