Спасибо за урок! На 12:48 ошибочка. Два варианта реализации через when и чрез if - не эквивалентны. when не "провалится" к следующим условиям, а список if-ов да. Надо делать через if() else if() else if() и т.д. Тогда будет эквивалентно
Я тащусь от этого Kotlin, ёмаё! Никогда б не подумал, что можно балдеть от синтаксиса языка программирования.
7:30 не очень хорошо написано. Понятое дело, что урок про enum, но всё же лучше делать так:
enum class Color(val code:String, val russianName: String) {
BLACK("#000000", "Чёрный"),
RED("#FF0000", "Красный"),
WHITE("#FFFFFF", "Белый")
}
fun main(args: Array) {
println(Color.BLACK.russianName)
}
12:50 По идее логика НЕ та же самая. Та же самая была бы, если бы было написано с использованием "if else". т.к. while выполняет ТОЛЬКО ПЕРВОЕ попавшееся верное условие, даже если верных условий несколько.
Кто бы подумал но даже в обучающем контенте есть хейтеры :D Злобные такие! ^_^
Хейтеры не просто так появляются. Я просмотрел несколько ваших видео и чем дальше смотрю, тем больше замечаю, что вы не готовите материал, который собираетесь записывать. Складывается такое впечатление, что содержимое видео определяется за счет какой-то импровизации. Вы запутываете наблюдателя показывая невалидные конструкции (см. пример на 9:37 этого видео). А порой, примеры которые вы приводите, вообще противоречат всем правилам логики. Например подбор цветов для enum Color в предыдущем видео, это ведь не сложно заранее посмотреть hex представление цветов. Тем более, цвета записываются согласно аббревиатуре Red Green Blue (RGB) отсюда сразу понятно, что красный - это 0xFF0000. Пример с классом Car меня вообще убил, вы сделали сеттер для поля, значение которого определяется аргументами в конструкторе!
Надеюсь мой отзыв не повлияет на ваше желание делать видео, делайте их, только подготавливайте пожалуйста контент.
Спасибо.
уроки по xml будет?)
Спасибо за хорошие уроки! Можно ли сделать так, чтобы в when при каком - либо значении N запускался метод?
Хотел сделать небольшое замечание ( 13 минута)
when{
(1 > 2) -> some
(1 > 2) ->some
}
Это не одно и то же что и
if(1 > 2) some
if(1 > 2) some
Скалиста это вводит в ступор так как match там не обладает эффектом проваливания. А тут,возникло что when обладает( с ваших слов).Пришлось проверять.
Поддерживаю!
Аналогом для:
when{
(1 > 2) -> some
(2 > 3) ->some
}
Будет след.:
if (1>2) {some...}
else if (2>3) {some...}
if тоже можно в одну строку без блока кода, ну или с ним но тогда не красиво. По сути в вашем примере, условия с if можно написать в 3 строки, тогда как when в 5
Согласен. Не слишком удачный пример. When надо использовать вместо switch в java. Его основной плюс - принудительный else блок. В последнем блоке кадо when используется для примера, хотя правильнее использовать if, вы правы.
А что за магия происходит на 1:29? Там, где "1, 2 .. 6"? Это просто вставка из буфера обмена или какой-то крутой хоткей для when?
спасибо
Спасибо за видео. Просьба: чуть конструктивнее. Поменьше вводных слов и лишних фраз типа "Это достаточно просто". Видео тогда получится короче
kotlin очень напоминает swift
одни грамотеи в комментариях, сами ничего не делают только мастера критиковать чужую работу
А как в одном when сделать два действия при совпадении значения? Для примера
_____________________________________
when(view){
buttonGreen-> constraintLayout.setBackgroundColor(getResources().getColor(R.color.green, null))
buttonRed->constraintLayout.setBackgroundColor(getResources().getColor(R.color.red, null))
buttonYellow->constraintLayout.setBackgroundColor(getResources().getColor(R.color.yellow,null))
}
textView.text=when(view){
buttonGreen->"зелёный"
buttonRed->"красный"
buttonYellow->"жёлтый"
else->"неизвестный цвет"
}
_______________________________
Приходится два раза вызвать оператор when, как записать тоже самое но вызвав его один раз? Пробовал записывать и через запятую, и на следующую строку- все не так.
для начала почитай bit.ly/2DIFAby, фигурные скобки поставить нужно после ->
МОАР11
Я с 2017. Гугл наконец-то сделала Котлин офф. языком в Android Studio. Ты стал популярным на 300% благодаря своими качественными уроками