Jak utworzyć zagnieżdżone pętle w PARI/GP, które obejmują wiele linii na każdym poziomie? Często muszę robić wiele rzeczy wewnątrz pętli, a dla czytelności nie lubię pisać moich pętli w jednym wierszu. W przypadku pętli na jednej zmiennej, robiłem to:Jak ustawić wieloliniowy zagnieżdżony dla pętli w PARI/GP?
for(i=1,10,{
printf("%u\n",i);
})
Jednak dla zagnieżdżonych pętli udało mi się umieścić tylko line-przerwy na jednym poziomie. To działa:
for(i=1, 10, for(j=1, 10, {
printf("%2u\t%2u\n", i, j);
}));
Działa to również:
for(i=1, 10, {
for(j=1, 10, printf("%2u\t%2u\n", i, j));
});
Jednak to, co naprawdę chciałbym zrobić:
for(i=1, 10, {
for(j=1, 10, {
printf("%2u\t%2u\n", i, j);
});
});
Ten ostatni przykład nie działa; to daje błąd:
*** sorry, embedded braces (in parser) is not yet implemented.
... skipping file 'nested_for.gp'
*** at top-level: printf("%2u\t%2u\n",
*** ^--------------------
*** printf: not a t_INT in integer format conversion: i.
*** Break loop: type 'break' to go back to GP
Używam PARI/GP 2.5.3 na OS X 10.8.3. Piszę moje skrypty do pliku nested_for.gp
i uruchamiam je za pomocą gp ./nested_for.gp
w Bash.
Witamy w Stack Overflow i dziękuję bardzo. –
PS. Myślę, że powinny być przecinki na drugiej pętli for w każdym z bloków kodu. W przeciwnym razie działa to świetnie. –
Udzielone. Naprawiłem fragmenty! –