Я уже немного узнал о точках с запятой FFL из моего предыдущего вопроса. Однако до сих пор неясно, какой порядок оценки или выполнения они применяют. Итак, вот более конкретный пример:
[ expr_a, expr_b ; expr_c, expr_d ; expr_e, expr_f ]
Каков должен быть порядок выполнения приведенного выше кода? В моей голове должно быть:
- оценить а и б
- выполнить а, выполнить б
- оценить c и d
- выполнить в, выполнить д
- оценить e & f
- выполнить e, выполнить f
Теперь давайте представим, что expr_b = add(test_list, ['b saw ' + str(test_list)])
и подобные для всех остальных выражений. Тогда каким будет окончательное содержимое test_list
?
В моей голове должно быть:
пила []
б видел []
c пила [a пила [], b пила []]
д пила [а пила [], б пила []]
е пила [а пила [], b пила [], c пила [а пила [], b пила []], d пила [а пила [], b пила []]]
f пила [a пила [], b пила [], c пила [a пила [], b пила []], d пила [a пила [], b пила []]]
Пожалуйста, объясните, почему это не так.