Я давно не использовал BASIC так широко, так что это всего лишь предположение, но я думаю, что fred
- это 6
.
Честно говоря, код не очень читабелен. Я чувствую, что при отсутствии всего в одной строке и использовании отступа код будет более читабельным:
Dim fred As Integer
If True Then
fred = 5
fred = 3
fred = 6
Else
fred = 4
fred = 2
fred = 1
End If
Я считаю, что это эквивалентный код, если я не ошибаюсь.
Но, если код не эквивалентен, это поднимает другой вопрос: оригинальный код «хитрый» в том смысле, что то, что он говорит, не совсем то, что происходит на самом деле. Аналогично ловушке в языках стиля C:
if (condition)
do_something();
do_other_thing();
Код, похоже, подразумевает, что do_something
и do_other_thing
выполняются, когда condition
истинно, но в действительности do_other_thing
всегда выполняется.
Лучше всего придерживаться стилей кодирования, которые делают намерение кода более очевидным и менее двусмысленным.