菜鸟速成记-IDL语法基础
来源:互联网 发布:淘宝达人申请直播入口 编辑:程序博客网 时间:2024/05/22 17:19
IDL语法基础
基本数据类型
- 字节型 var x=0B
- 16位有符号整型 var x=0
- 32有符号长整型 var x=0L
- 64有符号整型 var x=0LL
- 16位无符号整型 var x=0U
- 32… var x=0UL
- 64… var x=0ULL
- 浮点型 var x=0.0
- 双精度 var x=0.0D
- 复数 complex(a,b)
- 字符串 var x=” or x=”“
- 指针 var x=ptr_New()
- 对象 var x=Obj_New()
类型的转换
主要用到的:
- 字节型 BYTE(1.2)
- 整型 FIX(2.5)
- 浮点型 FLOAT([])
- 双精度浮点型 DOUBLE([A,B])
系统变量
- !D.NAME 当前图形设备的名称
- !D.X_SIZE 当前图形窗口的宽度
- !D.Y_SIZE 当前窗口的高度
- help,!cpu,/str 获取当前CPU
- !DIR 获取当前路径
- !DLM_PATH,/STR
数组
需要注意
- 先列后行从0开始
创建数组
- 创建0数组
- 定义:初始值是0的字节型数组
- bytArr()
- intarr()
- lonarr()
- lon64arr()
- uintarr()
- ulongarr()
- fltarr()
- dblarr()
- strarr()
- 创建索引数组
- bindgen()
- indgen()
- lindgen()
- l64indgen()
- uindgen()
- sindgen()字符串
其它的感觉不是那么常用。。所以没写。
- 常规函数创建
- make_array(col,row,/dt,value=v)
- 创建特殊数组
- randomu()函数 返回均匀分布浮点型数组
- randomn()函数 返回正态分布浮点型函数
子数组的提取
arr[1:3:2,1: *]跳跃取点
a:b:c
代表a从a开始到b终止 ;c是步长
arr[-1]是意味反向索引
相关主要函数
- size(arr[,/keywords]) 返回结构信息
- where()
- reverse() 矩阵反转
- Transpose() 数组转置
- Rotate() 函数
- Rot() 任意角度旋转
- Sort() 数组排序
- N_ELEMENTS() 返回元素的个数
- MIN() 求最小值
- TOTAL() 元素关键字求和
- MEAN() 平均值计算
- VARIANCE() 方差计算
- STDDEV() 计算数组元素方差
字符串
之所以要写这次基础,大半原因是为了数组和字符串,它们是图像处理和文件批处理的灵魂。
- 特殊字符串
- Bell 7B
- 后退 8B
- 水平TAB 9B
- 换行 10B
- 回车 13B
- ESC 27B
PRO DEMO_LABELVALUE=300STRING='HELLO WORLD!'WTLB=WIDGET_BASE(/BASE_ALIGN_CENTER,/COLUMN,DISPLAY_NAME=string)LABEL=WIDGET_LABEL(WTLB,VALUE='THIS IS THE FIRST ROW.'+STRING(13B)+'AND THIS IS THE SECOND ROW.',YSIZE=400,XSIZE=400)WIDGET_CONTROL,WTLB,/REALIZEEND
- 效果展示:这是一个简单的窗口机制![Markdown](http://i4.buimg.com/1949/d07e439ba757e5c3.png)
-部分函数操作
- STRCOMPRESS(STR) 删除字符串中空格
- STRJOIN() 字符串连接 和+差不多
- STRLEN() 返回字符串长度
- STRLOWCASE() 将所有的大写转换小写
- STRUPCASE() …大写
结构体还是比较简单的
由于有语法基础,这儿就不说了。
链表和哈希表
- 链表LIST
- 哈希表HASH
关系符运算
- EQ
- NE
- GE
- GT
- LT
- LE
写where语句表达式时特别有用!
程序控制
- FOR i=a,a2 do begin
- FOEREACH ele,arr,DO …
- WHILE … DO…ENDWHILE
- REPEAT UNTIL
- IF…THEN BEGIN…ENDIF
- SWITCH … CASE EXP OF A:STH B:STH2 ELSE: EXCUTE STH ENDCASE
- BREAK
- CONTINUE
- GOTO
调用执行方式
- EXCUTE() 通过调用字符串中的命令来实现命令执行的功能。
com='PLOT,[0,1]'VOID=EXECUTE(COM)
就两行代码,就出现了这样的效果:
- CALL_FUNCTION()函数 通过调用函数字符串来实现函数的执行功能
CALL_FUNCTION('SQRT',4);RETURN THE VALUE 2.
总结
总的来说,IDL调用方便,就是面向对象的语言用多了,突然这种像MATLAB又像VB的语言,用起来不是那么顺手~
0 0
- 菜鸟速成记-IDL语法基础
- 菜鸟速成记-IDL初识
- 菜鸟速成记-IDL读取显示dat文件
- IDL语法
- IDL 语法
- Python菜鸟--基础语法
- iOS 开发一周速成 -- objc语法基础
- 【python】Python速成(一)--基础语法
- 菜鸟笔记之基础语法
- 【转】IDL语法
- CORBA IDL 部分语法
- Thrift IDL基本语法
- SQL语法速成
- MySQL语法语句速成
- SQL语法速成
- SQL语法速成
- sql语法速成
- Objective-c语法速成
- Linux:守护进程详解及实现
- Shiro+SpringMVC
- LeetCode 25. Reverse Nodes in k-Group
- Python练习题目2
- 474. Ones and Zeroes
- 菜鸟速成记-IDL语法基础
- 2015年书单
- 2016年书单
- Android中的资源
- 在Android studio 里面通过Open Module Settings还是没办法彻底删除项目。
- C程序设计语言_vim小技巧
- Python语言文件基础--Python(18)
- mac brew install node 安装总是版本不对
- ssm整合之七 事务以及404页面处理