参考:Programming and Control Routines —— 编程和控制函数


01   N_ELEMENTS 表达式或者变量的元素个数。
02   DEFSYSV 定义系统变量。
03   EXIT 退出 IDL 返回到系统。
04   SAVE 将变量、系统变量和 IDL 函数存储在 *.sav 文件中。
05   RESTORE 恢复通过 SAVE 过程存储在 *.sav 文件中的变量、函数等。
06   FUNCTION 定义一个 IDL 函数。
07   PRO 定义一个 IDL 过程。
08   LIST 创建一个新的 list。
09   STOP 停止一个正在执行的程序或者批处理文件。
10   TYPENAME 获取变量的 IDL 类型名称、类名或者结构名。
11   WAIT 将程序暂停指定的时间段。
12   TIC 存储开始时候的系统时间。
13   TOC 存储结束时候的系统时间。

序号 名称  

功能说明

  语法 & 举例
01 N_ELEMENTS  

表达式或者变量的元素个数。
-----------------------------------------------
Result = N_ELEMENTS(Expression)
-----------------------------------------------
◈ Expression:可以是数组,如果未定义,则返回0

 

IDL> A = INDGEN(2,3)
IDL> N_ELEMENTS(A)
           6
IDL> N_ELEMENTS(AS)
           0

 02 DEFSYSV

定义系统变量。
-----------------------------------------------
DEFSYSV, Name, Value [, Read_Only] [, EXISTS=variable] [, /TEST]
-----------------------------------------------
◈ Name:欲创建的系统变量名称,系统变量必须以“!”开头
◈ Value:系统变量的值,可以是数据、数组或者结构体
◈ Read_Only:只读,默认可以修改
◈ EXISTS=variable:判断指定名称的系统变量是否存在,存在变量为 1,不存在变量为 0

 

IDL> DEFSYSV, '!NEWVAR', 2.0
IDL> !NEWVAR
       2.0000000
IDL> DEFSYSV, '!PI', EXISTS=i
IDL> i
           1
IDL> DEFSYSV, '!PI2', EXISTS=i
IDL> i
           0

 03 EXIT  

退出 IDL 返回到系统。
所有打开的文件会关闭,所有变量的值都会丢失。
-----------------------------------------------
EXIT [, /NO_CONFIRM] [, STATUS=code]
-----------------------------------------------
◈ NO_CONFIRM:不显示确认对话框

 
04 SAVE  

将变量、系统变量和 IDL 函数存储在 *.sav 文件中。
之后可以通过 RESTORE 恢复这些数据。
-----------------------------------------------
SAVE [, Var1, ..., Varn] [, /ALL] [, /COMM, /VARIABLES] [, /COMPRESS] [, DESCRIPTION=string] [, /EMBEDDED] [, FILENAME=string] [, /IGNORE_NOSAVE] [, /ROUTINES] [, /SYSTEM_VARIABLES] [, /VERBOSE]
-----------------------------------------------
◈ NO_CONFIRM:不显示确认对话框

  IDL> SAVE, /VARIABLES, FILENAME = 'session1.sav'

IDL> RESTORE, 'session1.sav'

05 RESTORE  

恢复通过 SAVE 过程存储在 *.sav 文件中的变量、函数等。
-----------------------------------------------
RESTORE [[, Filename] | [, FILENAME=name]] [, DESCRIPTION=variable] [, /NO_COMPILE] [, /RELAXED_STRUCTURE_ASSIGNMENT] [, RESTORED_OBJECTS=variable] [, /VERBOSE]
-----------------------------------------------
◈ NO_CONFIRM:不显示确认对话框

 06 FUNCTION  

定义一个 IDL 函数。
-----------------------------------------------
FUNCTION Function_Name, parameter1, ..., parametern
-----------------------------------------------
◈ Function_Name:函数的名称
◈ parameter1:第1个参数
◈ parametern:第N个参数

   
07 PRO  

定义一个 IDL 过程。
-----------------------------------------------
PRO Procedure_Name, argument1, ..., argumentn
   . . .
END
-----------------------------------------------
◈ Procedure_Name:过程的名称
◈ argument1:第1个参数
◈ argumentn:第N个参数

 
08 LIST  

创建一个新的 list。
list 可以包含不同的数据类型,包括数据、数组、结构体、指针、对象以及其他的 list 或者 哈希表。
-----------------------------------------------
Result = LIST( [Value1, Value2, ... Valuen] [, /EXTRACT] [, LENGTH=value] [, /NO_COPY])
-----------------------------------------------
◈ Valuen:每个元素的值
◈ EXTRACT:默认情况下,数组和 list 都是以单独的元素存在的,设置此关键字,数组和 list 中的元素都会添加到此 list 中
◈ LENGTH=value:指定元素的个数,如果大于参数个数,则循环填充,如果没有元素,则全部为“!NULL”

 

IDL> l = LIST(2, 3, INDGEN(3))
IDL> l
[
    2,
    3,
    [0, 1, 2]
]
IDL> l = LIST(2, 3, INDGEN(3), /EXTRACT)
IDL> l
[
    2,
    3,
    0,
    1,
    2
]
IDL> l = LIST(0, 1, LENGTH=5)
IDL> l
[
    0,
    1,
    0,
    1,
    0
]

 

List::Add - 增加一个新的元素
List::Count - 返回元素的个数
List::Filter - Pass the items through a filter function.
List::IsEmpty - 测试是否为空
List::Map - Pass the items through a user-defined function.
List::Move - Move items in the list.
List::NestedMap - Pass the items through a user-defined function using a nested loop.
List::Reduce - Pass each item through a function, accumulating the result.
List::Remove - Remove an item from the list.
List::Reverse - 反转所有元素
List::Sort - 为所有元素排序
List::Swap - Switch the positions of two items in the list.
List::ToArray - 转换为 IDL 数组
List::Where - 找到等于指定值的元素

09 STOP  

停止一个正在执行的程序或者批处理文件。
-----------------------------------------------
STOP [, Expr1, ..., Exprn]
-----------------------------------------------
◈ Angle:顺时针旋转的角度值

 

IDL> ;假设你想停止一个过程,并输出 A、B、C 和 NUM,可以在合适的位置输入下面的命令:
IDL> STOP, A, B, C, NUM
IDL> ;为了继续执行程序,可以输入下面的命令:
IDL> .CONT

10 TYPENAME  

获取变量的 IDL 类型名称、类名或者结构名。
-----------------------------------------------
Result = TYPENAME(Variable)
-----------------------------------------------
◈ Variable:变量名称或者表达式

 

IDL> TYPENAME(0.2)
FLOAT
IDL> TYPENAME([3,2])
INT

11 WAIT  

将程序暂停指定的时间段。
-----------------------------------------------
WAIT, Seconds
-----------------------------------------------
◈ Seconds:暂停的秒数

 

IDL> array = [1, 2, 2, 5, 6, 6, 5]
IDL> UNIQ(array)
           0           2           3           5           6
IDL> array[UNIQ(array)]
       1       2       5       6       5
IDL> UNIQ(array, SORT(array))
           0           1           3           4
IDL> array[UNIQ(array, SORT(array))]
       1       2       5       6

 12 TIC  

存储开始时候的系统时间。
-----------------------------------------------
TIC [, /PROFILER]
-----------------------------------------------
ClockName = TIC( [Name] [, /PROFILER] )

 
 13 TOC  

存储结束时候的系统时间。
-----------------------------------------------
TOC [, ClockID] [, LUN=lun] [, REPORT=variable]
-----------------------------------------------
Result = TOC( [ClockID] [, REPORT=variable] )

 
           

【227】◀▶ IDL 其他常用函数的更多相关文章

  1. 非常实用的PHP常用函数汇总

    这篇文章主要介绍了非常实用的PHP常用函数,汇总了加密解密.字符串操作.文件操作.SQL注入等函数的实例与用法说明,在PHP项目开发中非常具有实用价值,需要的朋友可以参考下 本文实例总结了一些在php ...

  2. oracle常用函数及示例

    学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...

  3. 总结js常用函数和常用技巧(持续更新)

    学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...

  4. [转]SQL 常用函数及示例

    原文地址:http://www.cnblogs.com/canyangfeixue/archive/2013/07/21/3203588.html --SQL 基础-->常用函数 --===== ...

  5. PHP常用函数、数组方法

    常用函数:rand(); 生成随机数rand(0,50); 范围随机数时间:time(); 取当前时间戳date("Y-m-d H:i:s"); Y:年 m:月份 d:天 H:当前 ...

  6. Oracle常用函数

    前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使 ...

  7. Thinkcmf:页面常用函数

    Thinkcmf:页面常用函数 全站seo: 文章列表: {$site_seo_title}        <!--SEO标题--> {$site_seo_keywords}   < ...

  8. matlab进阶:常用功能的实现,常用函数的说明

    常用功能的实现 获取当前脚本所在目录 current_script_dir = fileparts(mfilename('fullpath')); % 结尾不带'/' 常用函数的说明 bsxfun m ...

  9. iOS导航控制器常用函数与navigationBar常用属性

    导航控制器常用函数触发时机 当视图控制器的View将要出现时触发 - (void)viewWillAppear:(BOOL)animated 当视图控制器的View已经出现时触发 - (void)vi ...

随机推荐

  1. XML Schema的基本语法(转)

    XML Schema的基本语法(转) XSDL(XML Schema定义语言)由元素.属性.命名空间和XML文档种的其他节点构成的. 一.XSD中的元素 XSD文档至少要包含:schema根元素和XM ...

  2. 第三个Sprint冲刺第二天

    讨论地点:宿舍 讨论成员:邵家文.李新.朱浩龙.陈俊金 讨论问题:强化答案讲解功能

  3. sublime 的使用

    常见问题: ctrl+`快捷见弹不出console怎么办! 解决方法: 估计适合电脑其他软件的快捷键冲突了,在sublime里面重新设置下快捷键 点击菜单中Preferences下面的Key Bind ...

  4. Python 手写数字识别-knn算法应用

    在上一篇博文中,我们对KNN算法思想及流程有了初步的了解,KNN是采用测量不同特征值之间的距离方法进行分类,也就是说对于每个样本数据,需要和训练集中的所有数据进行欧氏距离计算.这里简述KNN算法的特点 ...

  5. tomcat切割日志的shell脚本

    #!/bin/bash cd /usr/tomcats/ d=`date +%F` m1=`date -d'1 month ago' +%F` ` do cd tomcat808"$i&qu ...

  6. ASP.NET中数据邦定效率问题的一点看法 - 转载(自由的天空)

    在 做Asp.NET开发的时候经常用到DataList.Repeater等,用这些控件的时候经常用到数据邦定,很多程序员都是按照MS提供的方 法<%#DataBinder.Eval(Contai ...

  7. mac 下安装 lua5.3 + cjson

    1.lua 5.3的安装 直接去官网下载 http://www.lua.org/ftp/lua-5.3.3.tar.gz make macosx sudo make install 2.CSJON 编 ...

  8. Streaming replication slots in PostgreSQL 9.4

    Streaming replication slots are a pending feature in PostgreSQL 9.4, as part of the logical changese ...

  9. 代码中特殊的注释技术——TODO、FIXME和XXX的用处

    前言:今天在阅读Qt  Creator的源代码时,发现一些注释中有FIXME英文单词,用英文词典居然查不到其意义!实际上,在阅读一些开源代码时,我们常会碰到诸如:TODO.FIXME和XXX的单词,它 ...

  10. git秘钥配置--转

    git是分布式的代码管理工具,远程的代码管理是基于ssh的,所以要使用远程的git则需要ssh的配置.github的ssh配置如下:一 .设置git的user name和email:$ git con ...