我是靠谱客的博主 温婉纸鹤,这篇文章主要介绍【297】IDL 过程、函数&关键字参数,现在分享给大家,希望可以做个参考。

目录:

  • 一、Procedure
    • 1.1 基本说明&定义
    • 1.2 关键字参数
  • 二、Function
    • 2.1 基本说明&定义
    • 2.2 关键字参数

参考:IDL中函数中的带有关键字的参数的使用

参考:IDL学习笔记(2)--函数与过程

参考:IDL中的关键字参数(keywords parameter)


一、Procedure
 
1.1 基本说明&定义

过程,无返回值

定义方式如下:

复制代码
1
2
3
4
PRO Procedure_Name, argument1, ..., argumentn . . . END

调用方式如下:

复制代码
1
2
Procedure_Name, argument1, ..., argumentn
1.2 关键字参数

在IDL中,过程或者函数都可以有关键字参数(keyword parameter)。这些参数一般用作可选参数。

下面例子中有2个过程,将文件名命名为 test.pro,则 test过程 为主过程,直接运行此过程,f1过程 中的 z 为关键字参数,DE 为其标签(tag),在定义的函数内使用该参数的时候,注意要使用变量 z,而不是标签 DE。比如,在第7行中的 keyword_SET() 引用的是变量名 z,而不应该用标签名(tag name)。

其中“/DE”表示将 DE 赋值为1。

复制代码
1
2
3
4
5
6
7
8
9
10
PRO TEST F1, 10, /DE PRINT, "-----------------------" F1, 10, DE=4 END PRO F1, a, DE=z IF KEYWORD_SET(z) THEN PRINT, "de=", z PRINT, "a=", a END

输出结果如下:

复制代码
1
2
3
4
5
6
7
8
9
10
de= 1 a= 10 ----------------------- de= 4 a= 10
二、Function
 
2.1 基本说明&定义

函数,有返回值

定义方式如下:

复制代码
1
2
3
4
FUNCTION Function_Name, argument1, ..., argumentn . . . END

调用方式如下:

复制代码
1
2
varName = Function_Name(argument1, ..., argumentn)
2.2 关键字参数

在IDL中,过程或者函数都可以有关键字参数(keyword parameter)。这些参数一般用作可选参数。

在调用 Plus_Minus 函数的时候,根据添加不同的关键字执行不同的操作(加法或减法)

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
PRO TEST a = Plus_Minus(3, 8, /PLUS) PRINT, a PRINT, "-----------------------" b = Plus_Minus(3, 8, /MINUS) PRINT, b END FUNCTION Plus_Minus, a, b, PLUS=plus, MINUS=minus IF KEYWORD_SET(plus) THEN tmp = a + b IF KEYWORD_SET(minus) THEN tmp = a - b RETURN, tmp END

输出结果如下:

复制代码
1
2
3
4
5
11 ----------------------- -5

最后

以上就是温婉纸鹤最近收集整理的关于【297】IDL 过程、函数&关键字参数的全部内容,更多相关【297】IDL内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(95)

评论列表共有 0 条评论

立即
投稿
返回
顶部