本文主要是介绍DolphinDB基础概念理解:模块,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
-
模块
在
DolphinDB
中,模块是指只包含函数定义的代码包。具有以下特点:- 以
.dos
作为模块文件的后缀,dos
是“dolphindb script”
的缩写; - 模块文件保存在
DolphinDB
节点的[home]/modules
目录下; - 模块文件第一行以声明模块语句
module modulename
开头; - 模块文件内容仅包含函数定义;
- 以
-
定义模块
-
一、创建模块目录
默认情况下,所有的模块定义在
[home]/modules
目录下,[home]
由系统配置参数home
决定。此系统参数
home
可以通过getHomeDir()
函数获取:>>> getHomeDir() # GUI中运行 D:\Tools\DolphinDB_Win64_V0.99.0\server # 即DolphinDB的启动目录
需要在该目录下创建
modules
子目录来保存模块文件,最终模块目录
为:../server/modules
扩展知识:
home
是一个系统配置参数,那一共有多少系统配置参数呢?getClusterNodesCfg()
getClusterPerf()
可以通过这两个函数获取,不过都不支持单节点。
以上是默认情况,具体到实际情况下,
modules
目录是以工程项目
为基准:在一个工程项目的目录下有两个文件夹
scripts
和modules
,模块文件就存放在modules
文件夹下:—project
—|---modules
—|---|—FileLog.dos
—|---scripts
-
二、创建模块文件
在
modules
目录下创建模块文件moduleName.dos
;模块文件的第一行必须是模块声明语句:
module moduleName # moduleName必须与模块文件的名称一致
模块文件中,仅允许封装函数定义,其他非函数定义代码将被忽略。
-
导入模块
DolphinDB
中,使用use
关键字来导入一个模块。use FileLog # 导入模块
use
关键字导入的模块是会话隔离的,进队当前会话有效。导入模块后,可以通过两种方式来使用模块内的自定义函数:
-
直接使用模块中的函数
use FileLog appendLog("mylog.txt", "test my log")
-
通过完整路径来调用模块中的函数
use FileLog FileLog::appendLog("mylog.txt", "test my log")
不管在哪里创建的
FileLog.dos
文件,都需要存放到[home]/modules
文件夹下才能生效,可能还需要重启server
。可以
手动迁移.dos
,也可以通过GUI
在modules
上右键synchronize module to server
同步到[home]
-
-
References
- Github >> DolphinDB模块复用教程
这篇关于DolphinDB基础概念理解:模块的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!