@kotlin_lang

Страница 83 из 982
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
ну смысл ты понял, я не заморачивался

лучше вообще не создавать каждый раз массив, а аппендить

Руслан
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
а как мне вообще мокито пользоваться?)

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

В иде

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

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

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())

странно, что такого метода нету в стандартной библиотеке

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

Все классы просто поставляются по месту с полным именем

Google
Михаил
25.03.2017
05:58:53
огонь, да
это надо в std-lib

инфа 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 это ведь джавовский класс?

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