Size: a a a

2019 November 04

AL

Alexander Levin in Kotlin Start
Никита ✓
Разве? 0_о
Она довольно явно расчитана на тех, кто знаком с Джавой и относительно неплохо подходит тем, кто переходит с других языков. Если же начинать с нуля (я не уверен, что тут такой случай, но предположил), то она не самая подходящая.
источник

RI

Ruslan Ibragimov in Kotlin Start
Никита ✓
Окей... Я когда читал, мне показалась она не сильно тяжёлой
Для новичков лучше вот эту книгу рекомендовать https://t.me/TheDailyKotlin/220
источник

AN

Alexander Nozik in Kotlin Start
Jeka Sylar
Открыл документацию нашел решли проблему
Ага, только теперь если там таки null, программа будет падать в рантайме
источник

PE

Pavel Erokhin in Kotlin Start
Jeka Sylar
Открыл документацию нашел решли проблему
Попадет туда null то у тебя все упадет
источник

AL

Alexander Levin in Kotlin Start
Alexander Nozik
Ага, только теперь если там таки null, программа будет падать в рантайме
Ну, для учебного примера может это и нормальный вариант, всё-таки в readLine сами пишем строку

@Sylar9 Ну в общем да, в Котлине надо явно работать с null, если они есть. Это один из вариантов, скорее всего все варианты перечислены тут:
https://kotlinlang.org/docs/reference/null-safety.html
источник

AN

Alexander Nozik in Kotlin Start
В общем, говоря простым языком, нужно явно задавать значение по-умолчанию. Напрмер так: val i = readLine()?.toInt() ?: -1 или обрабатыавть ошибку: val i = readLine()?.toInt() ?:  error("error message")
источник

JS

Jeka Sylar in Kotlin Start
Alexander Nozik
В общем, говоря простым языком, нужно явно задавать значение по-умолчанию. Напрмер так: val i = readLine()?.toInt() ?: -1 или обрабатыавть ошибку: val i = readLine()?.toInt() ?:  error("error message")
я до этого писал на C# и PHP, Java не знаю, вот хочу под андроид попробывать, пытаюсь освоить Котлин
источник

PE

Pavel Erokhin in Kotlin Start
Jeka Sylar
я до этого писал на C# и PHP, Java не знаю, вот хочу под андроид попробывать, пытаюсь освоить Котлин
В C# 8.0 тоже завезли нуллабельные типы как в котлин, ты вроде как должен был знаком быть с этим)
источник

JS

Jeka Sylar in Kotlin Start
Смогу ли нормально кодит под Android на таком железе

ОЗУ 8071 МБ  (DDR4 SDRAM)
Проц QuadCore Intel Core i5-8250U, 3400 MHz (34 x 100)
источник

PE

Pavel Erokhin in Kotlin Start
Jeka Sylar
Смогу ли нормально кодит под Android на таком железе

ОЗУ 8071 МБ  (DDR4 SDRAM)
Проц QuadCore Intel Core i5-8250U, 3400 MHz (34 x 100)
Да, но ОЗУ побольше бы не много), мне лично 8 не хватало
источник

JS

Jeka Sylar in Kotlin Start
Pavel Erokhin
В C# 8.0 тоже завезли нуллабельные типы как в котлин, ты вроде как должен был знаком быть с этим)
да я кодил на шарп последний раз год назад, версия C# 6.0 вроде бы просто web надоел хочу попробывать мобильные приложение
источник

AL

Alexander Levin in Kotlin Start
Jeka Sylar
Смогу ли нормально кодит под Android на таком железе

ОЗУ 8071 МБ  (DDR4 SDRAM)
Проц QuadCore Intel Core i5-8250U, 3400 MHz (34 x 100)
Андроид студия считает, что тебе хватит, так что на первых этапах точно не запаривайся.

https://developer.android.com/studio (внизу)
источник

JS

Jeka Sylar in Kotlin Start
Pavel Erokhin
Да, но ОЗУ побольше бы не много), мне лично 8 не хватало
я вчера пытался что то писать но сильно тормазил ноут ( компилировался 3 минуты проект, с одной кнопкой и формрой ввода
источник

AN

Alexander Nozik in Kotlin Start
Jeka Sylar
я вчера пытался что то писать но сильно тормазил ноут ( компилировался 3 минуты проект, с одной кнопкой и формрой ввода
Первичная индексация много времени занимает. После этого должно быть нормально
источник

JS

Jeka Sylar in Kotlin Start
Alexander Nozik
Первичная индексация много времени занимает. После этого должно быть нормально
и озу грузило 7,5 ГБ
источник

ᵛᵉⁿᵈᵉˡⁱᵉᵘ in Kotlin Start
а trim, trimindent не делает обработку \n ?
источник

AL

Alexander Levin in Kotlin Start
ᵛᵉⁿᵈᵉˡⁱᵉᵘ
а trim, trimindent не делает обработку \n ?
Оба учитывают \n, просто по-разному

trim просто работает как с единым блоком текста. Срезает с начала и с конца всё, пока не встретит не whitespace. Т.е. если было условно 5 lines (сорри, что английский "не в тему", но так хотя бы однозначно) с пробелами, а затем появились буквы, он срежет все 5 lines.
trimIndent работает с lines. Для каждой line он режет всё по минимальному отступу, первую и последнюю строку он выкидывает, если они были пустыми. Но если были другие пустые строки, он срежет у них отступ и оставит их.

Для понимания предлагаю такой пример:

fun main() {
   val original = """
       
       Hello
       Hi
           Bye
       
   """

   val trimmed = original.trim()
   val trimmedWithIndent = original.trimIndent()

   println("----")
   println(trimmed)
   println("----")
   println(trimmed.replace("\n", "\\n"))
   println("----")
   println(trimmedWithIndent)
   println("----")
   println(trimmedWithIndent.replace("\n", "\\n"))
   println("----")
}
источник

ᵛᵉⁿᵈᵉˡⁱᵉᵘ in Kotlin Start
Alexander Levin
Оба учитывают \n, просто по-разному

trim просто работает как с единым блоком текста. Срезает с начала и с конца всё, пока не встретит не whitespace. Т.е. если было условно 5 lines (сорри, что английский "не в тему", но так хотя бы однозначно) с пробелами, а затем появились буквы, он срежет все 5 lines.
trimIndent работает с lines. Для каждой line он режет всё по минимальному отступу, первую и последнюю строку он выкидывает, если они были пустыми. Но если были другие пустые строки, он срежет у них отступ и оставит их.

Для понимания предлагаю такой пример:

fun main() {
   val original = """
       
       Hello
       Hi
           Bye
       
   """

   val trimmed = original.trim()
   val trimmedWithIndent = original.trimIndent()

   println("----")
   println(trimmed)
   println("----")
   println(trimmed.replace("\n", "\\n"))
   println("----")
   println(trimmedWithIndent)
   println("----")
   println(trimmedWithIndent.replace("\n", "\\n"))
   println("----")
}
спасибо за ответ
источник

JS

Jeka Sylar in Kotlin Start
почему рагеться ?
источник

Н

Никита ✓ in Kotlin Start
Jeka Sylar
почему рагеться ?
Не импортировал
источник