Вложенная функция называет порядок оценки

Пожалуйста, предоставьте свой код, если он у вас есть. На странице регистрации ваш код должен выглядеть следующим образом:

if request.user.is_authenticated:
    # HttpResponseRedirect('/redirectToNonRegisterPageURL/')
    ...
else:
    # Load Sign Up Form
    ...
7
задан James Hopkin 7 May 2009 в 10:27
поделиться

4 ответа

The evaluation order is unspecified - see section 5.2.2/8 of the Standard:

The order of evaluation of arguments is unspecified. All side effects of argument expression evaluations take effect before the function is entered.

13
ответ дан 6 December 2019 в 10:53
поделиться

Порядок оценки стандартом не определен. Это зависит только от вашего компилятора.

2
ответ дан 6 December 2019 в 10:53
поделиться

Я не знаю, что говорится в стандарте, но я думаю, что если это важно для вас, вам, вероятно, следует изменить код, чтобы вы знали, что произойдет, в каком порядке (временные переменные - ваши друзья). Даже если вы выясните, что говорит стандарт, И если мы предположим, что ваш компилятор реализует это правильно, вы все равно оставите бомбу замедленного действия для обслуживания, потому что ваши преемники НЕ будут знать все, что вы делаете.

3
ответ дан 6 December 2019 в 10:53
поделиться

If the functions you're using in the same expression are somehow related (one affects the results of the other), so different order of calls give different results, then refrain of using nested functions in expressions.

I do it as good practice, exactly because, as the other said, the calling order is undefined (you could have even interlaced execution, if the optimizer thought it will be more optimal).

0
ответ дан 6 December 2019 в 10:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: