我正在尝试将2D表输出到文件,包括标题行和列。如果它是头文件,我宁愿不检查循环,因为它会让读者分心;但我宁愿不写两次内部for循环,因为我担心它可能会在维护时意外分叉。两个循环都跨越一个范围,但是我并行使用一个整数来避免循环结束时出现舍入问题。
以下是for循环中带有“标题行条件”i<0
的代码。
Xi = range.Xi.min();
for(int i = -1; i< 128; i++, Xi += range.Xi/128) {
if(i<0)
File.write( format_blank, strlen(format_blank) ); // write top corner of table
else
write( File, format_nth_csv, Xi ); // write the 1st column
dXi = range.dXi.min();
for(int j=0; j < 64; j++, dXi += range.dXi/64) {
if (i<0)
write( File, format_1st_csv, dXi); // write the header row
else
write( File, format_nth_csv, kernelDensity.evaluatedAt( Xi, dXi ) );// write the table contents
}
}