IDL变量(数组,字符串,结构体,链表,哈希表)(三)

数组

1.创建数组

在这里插入图片描述

2.数组常用函数

详细函数使用参考博客:
1.https://www.cnblogs.com/wintertone/p/6596672.html
2.https://blog.csdn.net/weixin_43955546/article/details/104849612
3.部分函数注意提示:
1)uniq 是返回数组中相邻唯一值的元素,若需要返回全数组中的唯一值,可先对数组排序,再使用uniq函数。

IDL>  a=[0,5,5,6,8,6,7]
IDL> a[uniq(a)]
       0       5       6       8       6       7
IDL> a[uniq(a,sort(a))]
       0       5       6       7       8
IDL> 

2)determ 行列式求值函数
3)矩阵阶乘 a ## b

在这里插入图片描述
在这里插入图片描述

3.数组的动态扩展

字符串

1.创建字符串

1)直接赋值

IDL> str='abc'

2)字符串数组
strarr()
常用语dialog_message分行输出信息

IDL> a=strarr(2)
IDL> a[0]='li'
IDL> a[1]='hua'
IDL> a
li
hua
IDL> dialog_message(a)

在这里插入图片描述
3)特殊字符串
a.换行字符串

IDL> 'li'+string(13B)+'zi'
li
zi

b.空格字符串

IDL> 'li'+string(11B)+'zi'
lizi

2.字符串常用函数

详细字符串常用函数介绍参考:http://blog.sciencenet.cn/blog-346157-886252.html
在这里插入图片描述
注意:
a.数字转字符串且去空格:

IDL> string(10)
      10
IDL> strtrim(10,2)
10
IDL> 

b.字符串分割且提取内容strsplit,(strjoin的作用正相反)

IDL> strsplit('li_zi_jia','_',/extract)
li
zi
jia
IDL> 

结构体

1.创建结构体

IDL> strut1={a:'li',b:1,c:intarr(3)}
IDL> strut1
{
    "A": "li",
    "B": 1,
    "C": [0, 0, 0]
}
IDL> 

2.结构体的使用

1)继承
2)add,remove

链表和哈希表

1.创建链表

链表创建完成,返回值为一个对象

IDL> lst1=list('li',2,intarr(3,2))
IDL> lst1
[
    "li",
    2,
    [[0, 0, 0], [0, 0, 0]]
]
IDL> 

2.链表的使用

3.哈希表

hash1=hash(key1,value1,key2,value2,key3,value3,…)

IDL> hash1=hash('a',100,'b','blue','c',intarr(3))
IDL> hash1
{
    "c": [0, 0, 0],
    "a": 100,
    "b": "blue"
}
IDL> 

4.哈希表的功能

参考文章:
http://blog.sina.com.cn/s/blog_5ea41d1901011va1.html
http://blog.sciencenet.cn/blog-346157-886252.html

发布了39 篇原创文章 · 获赞 5 · 访问量 3058

猜你喜欢

转载自blog.csdn.net/weixin_43955546/article/details/105658622
今日推荐