Size: a a a

Programming Offtop

2020 November 09

QH

Quantum Harmonizer in Programming Offtop
Ilmir
С точки зрения компилятора, if - это синтаксический сахар для when.
выходит, if — else-if — else тоже разворачивается с применением EnumSwitchMappings?
источник

AM

Artem Molotov in Programming Offtop
Vladimir Petrakovich
А что, уже всё?
Великобритания покинула Европейский союз 31 января 2020 года в 23:00 по Лондону. Основанием для выхода послужил результат консультативного референдума 23 июня 2016 года, когда 51,9 % проголосовавших поддержали выход Великобритании из Европейского союза.
источник

VP

Vladimir Petrakovich in Programming Offtop
Artem Molotov
Великобритания покинула Европейский союз 31 января 2020 года в 23:00 по Лондону. Основанием для выхода послужил результат консультативного референдума 23 июня 2016 года, когда 51,9 % проголосовавших поддержали выход Великобритании из Европейского союза.
Ок, буду знать. Долго у них этот процесс тянулся.
источник

AM

Artem Molotov in Programming Offtop
Vladimir Petrakovich
UK не совсем ЕС, там с шифрованием отдельная история
Там настолько отдельная история, что человека могут посадить только лишь за то, что винт по пизде пошёл (и начал срать рандомом)
источник

VP

Vladimir Petrakovich in Programming Offtop
Но там весёлые законы были задолго до выхода из ЕС
источник

I

Ilmir in Programming Offtop
Quantum Harmonizer
выходит, if — else-if — else тоже разворачивается с применением EnumSwitchMappings?
Офигеть некропостинг! Нет, не выходит. Компилятор генерирует обычный check-then-jump для when кроме тем случаев, когда можно использовать TABLESWITCH, то есть практически всегда.
источник

QH

Quantum Harmonizer in Programming Offtop
Ilmir
Офигеть некропостинг! Нет, не выходит. Компилятор генерирует обычный check-then-jump для when кроме тем случаев, когда можно использовать TABLESWITCH, то есть практически всегда.
ну так when жеж постоянно разворачивается в свич, нет?
источник

AG

Alexander Gorodok in Programming Offtop
Quantum Harmonizer
ну так when жеж постоянно разворачивается в свич, нет?
Только что же написали, что не постоянно...
источник

I

Ilmir in Programming Offtop
Quantum Harmonizer
ну так when жеж постоянно разворачивается в свич, нет?
Нет. Например
when {
 a == b -> TODO()
 c == d -> TODO()
 d is String -> TODO()
 else -> TODO()
}

никак в switch не развернуть.
источник

QH

Quantum Harmonizer in Programming Offtop
Alexander Gorodok
Только что же написали, что не постоянно...
ну так у меня другие наблюдения
источник

QH

Quantum Harmonizer in Programming Offtop
Ilmir
Нет. Например
when {
 a == b -> TODO()
 c == d -> TODO()
 d is String -> TODO()
 else -> TODO()
}

никак в switch не развернуть.
блин, я про энамы)
источник

AG

Alexander Gorodok in Programming Offtop
Блины вкусные.
источник
2020 November 10

I

Ilmir in Programming Offtop
Quantum Harmonizer
блин, я про энамы)
Так if как сахарок над when тоже не разворачивается в switch.
источник

QH

Quantum Harmonizer in Programming Offtop
Ilmir
Так if как сахарок над when тоже не разворачивается в switch.
в смысле «тоже»? Ну скажи мне, что EnumSwitchMappings не существует :)
источник

I

Ilmir in Programming Offtop
Quantum Harmonizer
в смысле «тоже»? Ну скажи мне, что EnumSwitchMappings не существует :)
Блин, сформулируй вопрос конкретнее, а то он был задан как "if-else if-else - это сахарок над when, следовательно, он генерируется как switch".
источник

QH

Quantum Harmonizer in Programming Offtop
Ilmir
Блин, сформулируй вопрос конкретнее, а то он был задан как "if-else if-else - это сахарок над when, следовательно, он генерируется как switch".
а ладно, проще проверить)
источник

VP

Vladimir Petrakovich in Programming Offtop
Ilmir
Блин, сформулируй вопрос конкретнее, а то он был задан как "if-else if-else - это сахарок над when, следовательно, он генерируется как switch".
Видимо, вопрос про цепочку if-else, эквивалентную when по enum
источник

I

Ilmir in Programming Offtop
Vladimir Petrakovich
Видимо, вопрос про цепочку if-else, эквивалентную when по enum
ХЗ, есть ли оптимизация, которая
when {
 a == Enum.A -> TODO()
 a == Enum.B -> TODO()
 a == Enum.C -> TODO()
 else -> TODO()
}

превращает в
when (a) {
 Enum.A -> TODO()
 Enum.B -> TODO()
 Enum.C -> TODO()
 else -> TODO()
}
источник

QH

Quantum Harmonizer in Programming Offtop
Ilmir
ХЗ, есть ли оптимизация, которая
when {
 a == Enum.A -> TODO()
 a == Enum.B -> TODO()
 a == Enum.C -> TODO()
 else -> TODO()
}

превращает в
when (a) {
 Enum.A -> TODO()
 Enum.B -> TODO()
 Enum.C -> TODO()
 else -> TODO()
}
а, понял, спасибо
источник

AD

Aleksey D. in Programming Offtop
кто-то недавно про Python для Android вопрошал
(никакой ценности внутри, но оно живое)
https://habr.com/ru/post/527194/
источник