Size: a a a

Kotlin Community

2020 August 14

АО

Алексей Овсянников... in Kotlin Community
Кстати, интересно послушать людей, которые уже перекатывались на новый котлин - больно с 1.3 на 1.4 переходить?
источник

АЕ

Алексей Ершов... in Kotlin Community
Я безболезненно перешел
источник

АЕ

Алексей Ершов... in Kotlin Community
Сидел на всех M и RC версиях, всё ништяк
источник

BP

Bogdan Panchenko in Kotlin Community
Quantum Harmonizer
а чем long не деньги? Там огого влезает)
Тем что нет дроби, самому костылять такое себе
источник

BP

Bogdan Panchenko in Kotlin Community
Алексей Овсянников
Кстати, интересно послушать людей, которые уже перекатывались на новый котлин - больно с 1.3 на 1.4 переходить?
У меня была хрень только с торнадовским плагином. Но пока ничего не заводил а то не понятно что за фигня
источник

BP

Bogdan Panchenko in Kotlin Community
Bogdan Panchenko
У меня была хрень только с торнадовским плагином. Но пока ничего не заводил а то не понятно что за фигня
(Сам торнадовским плагин)
источник

BV

Boris Vanin in Kotlin Community
Bogdan Panchenko
Тем что нет дроби, самому костылять такое себе
Вообще так делают, в смысле используют лонг. Просто нужно хорошо понимать что ты делаешь и например если ты знаешь что всегда округление до копеек
источник

BP

Bogdan Panchenko in Kotlin Community
Boris Vanin
Вообще так делают, в смысле используют лонг. Просто нужно хорошо понимать что ты делаешь и например если ты знаешь что всегда округление до копеек
Увы нет. Размер дробной часть может быть разным
источник

l

lavagod in Kotlin Community
Добрый день. Может, кто-то поможет? Проверяю пример с классами и переопределением equals. Пример набран верно, должен давать false и true, но дает false-false, т.е. сравнение не переопределено. В чем причина? class Point(val x: Double, val y: Double)

data class Segment(val begin: Point, val end: Point) {
 override fun equals(other: Any?) =
   other is Segment && ((begin == other.begin && end == other.end) ||
              (begin == other.end && end == other.begin))
}

fun main() {
  val line1 = Segment(Point(0.0,0.0),Point(10.0,10.0))
  val line2 = Segment(Point(10.0,10.0),Point(0.0,0.0))
  println(line1 == line2)
  println(line1.equals(line2))
}
источник

PE

Pavel Erokhin in Kotlin Community
перепиши в несколько отдельных условий
а не все в одном

Так понятнее будет, мне кажется ты сразу ошибку найдешь)
источник

AN

Alexander Nozik in Kotlin Community
lavagod
Добрый день. Может, кто-то поможет? Проверяю пример с классами и переопределением equals. Пример набран верно, должен давать false и true, но дает false-false, т.е. сравнение не переопределено. В чем причина? class Point(val x: Double, val y: Double)

data class Segment(val begin: Point, val end: Point) {
 override fun equals(other: Any?) =
   other is Segment && ((begin == other.begin && end == other.end) ||
              (begin == other.end && end == other.begin))
}

fun main() {
  val line1 = Segment(Point(0.0,0.0),Point(10.0,10.0))
  val line2 = Segment(Point(10.0,10.0),Point(0.0,0.0))
  println(line1 == line2)
  println(line1.equals(line2))
}
Что есть Point?
источник

PE

Pavel Erokhin in Kotlin Community
Alexander Nozik
Что есть Point?
class Point(val x: Double, val y: Double)
источник

AN

Alexander Nozik in Kotlin Community
Pavel Erokhin
class Point(val x: Double, val y: Double)
У вас два поинта никогда не равны
источник

PE

Pavel Erokhin in Kotlin Community
Ну у него вроде я вижу проверку на то то равны ли точки даже если они по разным сторонам
источник

PE

Pavel Erokhin in Kotlin Community
lavagod
Добрый день. Может, кто-то поможет? Проверяю пример с классами и переопределением equals. Пример набран верно, должен давать false и true, но дает false-false, т.е. сравнение не переопределено. В чем причина? class Point(val x: Double, val y: Double)

data class Segment(val begin: Point, val end: Point) {
 override fun equals(other: Any?) =
   other is Segment && ((begin == other.begin && end == other.end) ||
              (begin == other.end && end == other.begin))
}

fun main() {
  val line1 = Segment(Point(0.0,0.0),Point(10.0,10.0))
  val line2 = Segment(Point(10.0,10.0),Point(0.0,0.0))
  println(line1 == line2)
  println(line1.equals(line2))
}
источник

AN

Alexander Nozik in Kotlin Community
В таком виде точки равны только если это один и тот же объект. Даже если сделать это как должно data class, гарантии нет, потому что равенство чисел с плавающей точкой не гарантирвоано. Но работать скорее всего будет.
источник

PE

Pavel Erokhin in Kotlin Community
твой же код выдает true true, как у тебя false false получается и причем ты еще хочешь false - true — ХЗ
источник

AN

Alexander Nozik in Kotlin Community
Pavel Erokhin
твой же код выдает true true, как у тебя false false получается и причем ты еще хочешь false - true — ХЗ
Он ожидает, что == работает как в Java, но это не так. Чтобы как в Java, должно быть ===
источник

PE

Pavel Erokhin in Kotlin Community
Alexander Nozik
Он ожидает, что == работает как в Java, но это не так. Чтобы как в Java, должно быть ===
+1
источник

l

lavagod in Kotlin Community
Я проверяю отсюда https://github.com/Kotlin-Polytech/KotlinAsFirst2018/blob/master/tutorial/chapter08.adoc, получается вот что
источник