- 积分
 - 3625
 
	- 贡献
 -  
 
	- 精华
 
	- 在线时间
 -  小时
 
	- 注册时间
 - 2014-10-21
 
	- 最后登录
 - 1970-1-1
 
 
 
 
 
 
 | 
	
 
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册 
 
 
 
x
 
任务背景: 
现在有1000个文件,从每个文件中读取一个数组,这些数组都是125行,但是列数不一样,只有1列的数组是不用的,数组中的负数也是不用的,这样就需要设置2个筛选条件,我以前总是这样的思路: 
for 文件1,文件1000 do begin 
读取文件中的数组放入x; 
size_x=size(x) 
if(size_x[0] eq 2)then begin 
for i=0,124 do begin 
for j=0,size_x[2]-1 do begin 
if(x[i,j] gt 0)then begin 
语句块...... 
endif 
endfor 
endfor 
endif 
endfor 
这样做的缺点在于if语句的前后两部分距离很大,程序一复杂,层次就显得很乱了 
后来我使用了对立条件进行筛选: 
for 文件1,文件1000 do begin 
读取文件中的数组放入x; 
size_x=size(x) 
if(size_x[0] eq 1)then begin 
continue 
endif 
for i=0,124 do begin 
for j=0,size_x[2]-1 do begin 
if(x[i,j] lt 0)then begin 
continue 
endif 
语句块...... 
endfor 
endfor 
endfor 
这样,通过使用 
if(对立条件)then continue 
或者: 
if(对立条件)then begin 
continue 
endif 
使得if语句紧凑,简化了程序的层次。 
 |   
 
 
 
 |