Size: a a a

Programming Offtop

2020 July 12

I

Ilmir in Programming Offtop
Alexander Nozik
do{
 val char = peek()
} while(char ==  ' ')
В том и прикол, что там нужен именно when, так я собираюсь юникод поддерживать, а не только аски.
источник

I

Ilmir in Programming Offtop
А если when выносить в условие, то приходим к моему любимому паттерну.
источник

I

Ilmir in Programming Offtop
И да, у тебя pop() неясно куда встроить.
источник

(

( in Programming Offtop
источник

AD

Aleksey D. in Programming Offtop
а почему в when нет it параметра?
было бы удобно же:
when (call()) {
 0 -> it
 else -> 52
}
источник

КР

Кирилл Романенко... in Programming Offtop
Ilmir
fun Input.gobbleWhitespace() {
 while (
   when (peek()) {
     ' ', '\t', '\n' -> {
       pop()
       true
     }
     else -> false
   }
 );
}

Ну вот, но мой любимый паттерн ИДЕЯ ругается, говорит, что тело цикла пустое.
var peekNext: Boolean
do {
   peekNext = when (peek()) {
       ' ', '\t', '\n' -> {
           pop()
           true
       }
       else -> false
   }
} while (peekNext)
источник

I

Ilmir in Programming Offtop
Кирилл Романенко
var peekNext: Boolean
do {
   peekNext = when (peek()) {
       ' ', '\t', '\n' -> {
           pop()
           true
       }
       else -> false
   }
} while (peekNext)
И чем это лучше моего варианта?
источник

КР

Кирилл Романенко... in Programming Offtop
Ilmir
И чем это лучше моего варианта?
В условии цикла нет целого блока кода
источник

I

Ilmir in Programming Offtop
Кирилл Романенко
В условии цикла нет целого блока кода
Иначе это плохо потому что?
источник

КР

Кирилл Романенко... in Programming Offtop
Ilmir
Иначе это плохо потому что?
Читается хуже
источник

КР

Кирилл Романенко... in Programming Offtop
Пусть @noraltavir рассудит
источник

I

Ilmir in Programming Offtop
Aleksey D.
а почему в when нет it параметра?
было бы удобно же:
when (call()) {
 0 -> it
 else -> 52
}
when (val it = call()) {
 0 -> it
 else -> 52
}
источник

BP

Bogdan Panchenko in Programming Offtop
Aleksey D.
а почему в when нет it параметра?
было бы удобно же:
when (call()) {
 0 -> it
 else -> 52
}
when (val it = calc()) 🌚
источник

AN

Alexander Nozik in Programming Offtop
Кирилл Романенко
Пусть @noraltavir рассудит
вопрос эстетики
источник

BP

Bogdan Panchenko in Programming Offtop
Блин и тут я опоздал
источник

I

Ilmir in Programming Offtop
Кирилл Романенко
Читается хуже
Дело привычки.
источник

AN

Alexander Nozik in Programming Offtop
но сложные блоки в условии while мне не нравятся
источник

КР

Кирилл Романенко... in Programming Offtop
Alexander Nozik
но сложные блоки в условии while мне не нравятся
+
источник

I

Ilmir in Programming Offtop
Alexander Nozik
но сложные блоки в условии while мне не нравятся
источник

AD

Aleksey D. in Programming Offtop
Ilmir
when (val it = call()) {
 0 -> it
 else -> 52
}
да, но зачем так, если можно его генерить?
источник