можно сократить число внутренних переменных в необъектной реализации.
правда не уверен, что код станет быстрее из-за дополнительной сборки мусора.
X++:
#define.FIZZ(3)
#define.BUZZ(5)
static void FizzBuzzImpl(Args _args)
{
int i;
str state;
;
for (i = 1; i <=100; i++)
{
state = "";
if ((i mod #FIZZ) == 0) { state += "Fizz"; }
if ((i mod #BUZZ) == 0) { state += "Buzz"; }
info(strfmt("%1 %2", state, i));
}
}
switch - зло как правило. Поскольку по мере развития программы число вариантов в switch может меняться. А найти все switch - на редкость нетривиальное дело.
Но как пример использования неконстант в case - очень даже ничего.