Вложены, когда петли разбиты в golfscript или я не знаю, как их использовать?golfscript вложенные в то время как петли
Я хочу повторить Q от 5 до 0, и для каждой итерации итерации Z от 10 до 0. Одиночные петли работают хорошо по отдельности и кажутся автономными (не полагаясь на стек между операциями):
5:Q;
{"Q:"Q+ p Q}
{
Q 1- :Q;
}while
10:Z;{"Z:"Z+ p Z}{Z 1- :Z;}while
Выход:
"Q:5"
"Q:4"
"Q:3"
"Q:2"
"Q:1"
"Q:0"
"Z:10"
"Z:9"
"Z:8"
"Z:7"
"Z:6"
"Z:5"
"Z:4"
"Z:3"
"Z:2"
"Z:1"
"Z:0"
Но если я поставил петлю Z внутри цикла Q, я получаю странные результаты:
5:Q;
{"Q:"Q+ p Q}
{
10:Z;{"Z:"Z+ p Z}{Z 1- :Z;}while
Q 1- :Q;
}while
Выход:
"Q:5"
"Z:10"
"Z:9"
"Z:8"
"Z:7"
"Z:6"
"Z:5"
"Z:4"
"Z:3"
"Z:2"
"Z:1"
"Z:0"
"Z:0"
на основе Z печати дважды, похоже, есть только один текущий условный блок, и любое исполнение «а» переписывает его.
В любом случае, как я мог бы выполнить этот подвиг в golfscript?