Я родом из прекрасного мира Obj C, который основан на языке программирования C, и я влюбился в поиск причудливых способов сэкономить место. Тем не менее, я просмотрел столько документов, сколько я могу и не могу найти что-нибудь сочный на VBA, которая будет укорачивать этот синтаксис:Имеет ли VBA тройной оператор?
If boolVar = True Then
'Do something
Else
'Do nothing
End If
В Obj C, и, естественно, C, я очень знаком с как это сделать:
boolVar ? "Nope, tis false" : "Yup, tis true"
Это очень похоже на то, что использовать большинство других langagues, некоторые из них могут использовать дополнительные логические операторы, такие как !=
или ==
, но это оставляет меня оптимистичным. Возможно, я не посмотрел в нужные места, если это так. ПОЖАЛУЙСТА, дайте мне знать, где вы получите свою документацию.
TLDR, можем ли мы сократить If/Then/Else до одной строки кода в VBA? Это очень удобно, когда «Do Somethings» - это не что иное, как установка одиночного параметра другой переменной или включение/отключение кнопки.
[IIf()] (https://msdn.microsoft.com/en-us/library/office/gg264412 (v = office.15) .aspx) –
У VBA нет истинного тернарного оператора. Есть функция 'IIf' * *, но вы добавляете накладные расходы на вызов функции, давая вам *** и *** уменьшенную читаемость и производительность. – Comintern
Его также не закорочен. –