爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3800|回复: 0

[混合编程] IDL编程学习之使用if语句简化程序层次

[复制链接]

新浪微博达人勋

发表于 2017-4-12 00:18:48 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

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语句紧凑,简化了程序的层次。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表