
Igor
24.03.2017
22:19:50

Руслан
24.03.2017
22:20:02
Условие if (foo != null) { // foo: String here }
Элвис оператор foo ?: ""
и т.д.

Tony
24.03.2017
22:20:58
while(readLine())
короче вот так точно нельзя

Google

Tony
24.03.2017
22:21:43
strings.add(readLine())
да и так
то бишь пока есть строка, добавлять ее в массив

Руслан
24.03.2017
22:23:26
файл в строку читаешь?

Tony
24.03.2017
22:23:49
из терминала
строки
потом вывожу в порядке возрастания длины

Руслан
24.03.2017
22:29:26
var list = listOf<String>()
do {
val line = readLine() ?: break
list += line
} while (true)
println(list.sorted())

Tony
24.03.2017
22:30:17
сортировка поиск элемента n
:(
ну в целом тут пофигу
спасибо)

Google

Руслан
24.03.2017
22:30:59
ну смысл ты понял, я не заморачивался
лучше вообще не создавать каждый раз массив, а аппендить

Tony
24.03.2017
22:31:46

Руслан
24.03.2017
22:33:01
val list = mutableListOf<String>()
do {
val line = readLine() ?: break
list.add(line)
} while (true)
list.sortBy { it.length }
println(list)

Tony
24.03.2017
22:33:23
var list = ArrayList<String> ()

Руслан
24.03.2017
22:33:39
можно и так
я привык пользоваться функциями, мне больше нравится

Tony
24.03.2017
22:34:53
ошибка есть
надо выходить не когда налл
а когда \n

Руслан
24.03.2017
22:36:08
т.е. только одну строку читать?

Tony
24.03.2017
22:36:23
у тебя циклы останавливается только когда readLine()==Null
а "\n"!=Null

Руслан
24.03.2017
22:38:03
ну идею как получить не нал строку я думаю ты пнял)

Tony
24.03.2017
22:38:39
spasibo
есть ли в котлине удобный способ сдвигать массив/матрицу?
[1, 2, 3] -> [3, 1, 2]

Kirill
24.03.2017
23:55:53
val list = listOf(1,2,3,4,5)
val shift = 2
println(list.drop(list.size - shift) + list.dropLast(shift))
вот так можно :)

Google

Boris
25.03.2017
04:15:51
generateSequence { readLine() }
или типа того
Я уж не говорю, что для чтения всех строк есть отдельный метод
Из ридера

Михаил
25.03.2017
04:21:32
подскажите. как в такое объявление джава класса :
public static <T> T nullable(Class<T> clazz)
передать Set.class
Set::class.java так не выходит
?

Boris
25.03.2017
04:25:53
<T:Any>
И тогда выйдет

Михаил
25.03.2017
04:26:53
это не мой джава класс)
из мокита этот метод
вот что пытаюсь написать

Boris
25.03.2017
04:28:12
а, так там тип с женериком нужен
он его не может вывести

Михаил
25.03.2017
04:28:55
Я указал дженерик тип. Он все равно не хочет

Boris
25.03.2017
04:34:55
Не, я имею виду, что когда пишешь Set::class, то получаешь класс Set<*>, без конкретного типа

Михаил
25.03.2017
04:35:38
то есть надо Set<*>::class.java ?
так тоже не работает)

Boris
25.03.2017
04:35:52
Так не будет работать

Михаил
25.03.2017
04:36:22
окей

Google

Михаил
25.03.2017
04:36:34
а как мне вообще мокито пользоваться?)

Tony
25.03.2017
04:37:42

Boris
25.03.2017
04:38:13
Ох, надо посмотреть
В иде

Tony
25.03.2017
04:40:01
Кстати. Импорт в джаве работает так же, как и в питоне?
То бишь импортируемый код тупо вставляется в мою программу

Михаил
25.03.2017
04:40:34
ты имеешь ввиду, что пакеты извне по импортам подтягиваются?

Tony
25.03.2017
04:40:48

Admin
ERROR: S client not available

Михаил
25.03.2017
04:40:52
не
хотя было бы круто)

Boris
25.03.2017
04:57:20
inline fun <reified T:Any> mock(): T = Mockito.mock(T::class.java)
val a:Set<String> = mock()
тоже самое можно с любым методом сделать, чтобы автоматически выводилось и не надо было указывать. оно конечно требует некоторой писанины, но зато будет удобно

Михаил
25.03.2017
05:02:56
Спасибо)

Boris
25.03.2017
05:17:15
если для всех случаев, то можно что-то типа такого
inline fun <reified T:Any> infer(): Class<T> = T::class.java
val a:MutableSet<String> = Mockito.mock(infer())
странно, что такого метода нету в стандартной библиотеке

Михаил
25.03.2017
05:46:43

Boris
25.03.2017
05:47:21
А импорты это только на уровне языка, после компиляции никаких импортов нет
Все классы просто поставляются по месту с полным именем

Google

Михаил
25.03.2017
05:58:53
инфа 100

Tony
25.03.2017
06:22:59
forAll(vectorTestTable) { num1, num2, result, c ->
Vector(num1, num2).mod() shouldBe result plusOrMinus c
}
не находит plusOrMinus
но в warning пишет
если без него
[WARN] When comparing doubles consider using tolerance, eg: a shouldBe b plusOrMinus c
было у кого-нибудь такое?

Михаил
25.03.2017
06:31:19
скорее всего это предупреждение о том, что ты сравниваешь неточные типы

Tony
25.03.2017
06:33:16
fun plus(other: Vector): Vector = Vector(this.first + other.first, this.second + other.second)
есть ведь метод plus
или в котлине не преобразует

Михаил
25.03.2017
06:38:06
преобразует
он и есть

Tony
25.03.2017
06:38:27
а чего подчеркивает тогда?

Михаил
25.03.2017
06:38:58
потому что пиши plus
Vector это ведь джавовский класс?