? !B : B ?
никак?
ни у кого мыслей не появилось каких? не хочется через if городить
То что вы хотите называется тернарным оператором. Подобная конструкиця возможна во многих языках без его явной поддержи, но для этого условный или логические операторы должны являться выражением (возвращать значение) C/C++ boolVar ? IfTrue : ifFalse Python ifTrue if boolVar else ifFalse или `a or b`\
Зачем?
Если под "?" и понимаете именно булевы операции, то можно написать ф-цию с двумя булевыми аргументами а и б и переиспользовать её. Если же "?" это проверка на "empty", то придется столкнуться с проблемой дженериков. Впрочем "!" это всегда операция с булом, так что б всегда bool должен быть, что немного сужает список типов аргументов
Обсуждают сегодня