爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3854|回复: 3

[混合编程] IDL编程学习之ForEach循环的实用性

[复制链接]

新浪微博达人勋

发表于 2017-4-11 23:24:44 | 显示全部楼层 |阅读模式

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

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

x
【因需而生】
如果想对一个数组的所有元素进行操作,可以使用ForEach循环,ForEach一词的字面意思就是“对每一个”,恰如其分。
我想,如果仅仅是对每一个元素进行计算,数组直接进行计算就行了;但实际中往往有很多计算以外的操作(例如,把元素合并到其他数组,比较大小),可以使用ForEach循环。
【调用格式】
ForEach循环的调用格式有2种,与For循环的两种调用格式基本一样:
x=findgen(3,4)
foreach element,x do begin
print,element
Endforeach
输出了0-11,可见foreach循环对数组的执行次序是IDL的通行次序:先行后列。
第二种调用格式是:
x=findgen(3,4)
foreach element,x do print,element
【For与ForEach的对比】
For循环的两种调用格式:
x=findgen(3,4)
for i=0,11  do print,i
或者:
x=findgen(3,4)
for i=0,11  do begin
print,i
Endfor
For循环相比,ForEach循环不需要给出数组的大小。
【疑问】
书上给出的foreach循环的调用格式中,这个[,key]是什么意思?
foreach element,variable [,key] do begin
语句块
Endforeach
foreach element,variable [,key] do 语句

评分

参与人数 1金钱 +15 贡献 +5 收起 理由
言深深 + 15 + 5

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2017-4-12 08:59:40 | 显示全部楼层
如果有很多,可以考虑做一个系列的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-4-12 14:46:06 | 显示全部楼层
言深深 发表于 2017-4-12 08:59
如果有很多,可以考虑做一个系列的

发完了零散的我再汇总一个大的。
其实零散的才记得住,长篇大论谁真的从头看到尾?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2017-4-12 15:49:08 | 显示全部楼层
15195775117 发表于 2017-4-12 14:46
发完了零散的我再汇总一个大的。
其实零散的才记得住,长篇大论谁真的从头看到尾?

好的啊
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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