6
如何在PARI/GP中製作跨越每個級別多行的嵌套循環?我經常需要在循環內部做很多事情,爲了可讀性,我不喜歡在單行上編寫循環。對於遍歷一個變量,我一直在做這樣的:如何在PARI/GP中創建多行嵌套for循環?
for(i=1,10,{
printf("%u\n",i);
})
然而,對於嵌套的循環,我只設法把換行符在一個級別上。這工作:
for(i=1, 10, for(j=1, 10, {
printf("%2u\t%2u\n", i, j);
}));
這也適用於:
for(i=1, 10, {
for(j=1, 10, printf("%2u\t%2u\n", i, j));
});
然而,這是我真正喜歡做的事:
for(i=1, 10, {
for(j=1, 10, {
printf("%2u\t%2u\n", i, j);
});
});
最後這個例子不工作;它給出了一個錯誤:
*** 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
我在OS X 10.8.3上使用PARI/GP 2.5.3。我將腳本寫入文件nested_for.gp
,並在Bash中使用gp ./nested_for.gp
運行它們。
歡迎來到Stack Overflow,非常感謝。 –
PS。我認爲每個代碼塊中的第二個for循環應該有逗號。否則,這很好。 –
授予。只是修復了片段! –