在循环里自动化调用test_n函数(n=1...100),应该如何操作

请问元代码格式如何实现自动化,比如我想在循环里自动化调用test_n函数(n=1...100),应该如何操作?

def test2(){
	return 1
}
eval(<test2()>)//执行后输入1
eval(<'test2()'>)//执行后输出 test2()


请先 登录 后评论

1 个回答

Margo

按照你图上的例子,需要先用parseExpr将字符串(“test2()”)转换为元代码(<test2()>),再用eval()执行。要自动调用test_n函数,写个生成字符串的循环就可以了。

attachments-2022-10-Fcv7LjLf6358ab3c555a2.png


除了从字符串生成元代码的方法,还可以直接用 funcByName 去获得一个函数:

 loop(x->funcByName("test_" + string(x))(), 1..100)

 funcByName 的具体使用方法请参照《用户手册》:funcByName — DolphinDB 2.0 文档

请先 登录 后评论