Sont imbriqués alors que les boucles sont cassées dans golfscript ou que je ne sais pas comment les utiliser?golfscript imbriqué en boucle
Je souhaite parcourir Q de 5 à 0, et pour chaque itération, j'analyse Z de 10 à 0. Les boucles simples fonctionnent bien séparément, et elles semblent indépendantes (ne reposant pas sur la pile entre les opérations):
5:Q;
{"Q:"Q+ p Q}
{
Q 1- :Q;
}while
10:Z;{"Z:"Z+ p Z}{Z 1- :Z;}while
sortie:
"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"
Mais si je mets la boucle Z dans la boucle Q, je reçois des résultats étranges:
5:Q;
{"Q:"Q+ p Q}
{
10:Z;{"Z:"Z+ p Z}{Z 1- :Z;}while
Q 1- :Q;
}while
Sortie:
"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"
Basé sur Z imprimer, il semble deux fois comme il n'y a qu'un seul bloc conditionnel actuel, et toute exécution de « tandis que » l'écrase.
En tout cas, comment pourrais-je accomplir cet exploit dans golfscript?