loadModuleFromScript

语法

loadModuleFromScript(moduleNamespace, moduleScript, [reload=false])

参数

moduleNamespace:字符串标量或向量,表示模块的命名空间。如果模块之间存在依赖,则需要输入全部模块的命名空间。

moduleScript:字符串标量或向量,表示模块的脚本。

reload:布尔标量,表示是否重新加载模块,默认值为 false。如果之前已加载同名模块,要使更新的 moduleScript 生效,必须将此参数设置为 true。

详情

解析包含模块定义的字符串,并加载该模块。如果模块脚本中包含模块引用,则无需关注其依赖顺序,函数会自动解析。

例子

moduleName = "test"
moduleScript = "module test \n def testFunc(x,y){ return x+y }"
loadModuleFromScript(moduleName,moduleScript)
go
test::testFunc(2,3)
# output
5

如果模块脚本中包含模块引用:

moduleNames = ["test2","test1"]
moduleScripts = [
"module test2
use test1
def func4(x,y){
    return func1(x) + func2(y)
}
",
"module test1
def func1(x){
    return x+1
}
def func2(x){
    return x+2
}
def func3(x){
    print(func1(x)+func2(x))
}
"
]
loadModuleFromScript(moduleNames,moduleScripts)
go
test1::func3(2)
# output
7
test2::func4(2,3)
# output
8