Fortran Coder

标题: 可否将字符串作为函数名引用(类似Matlab的eval) [打印本页]

作者: cqflhl    时间: 2023-6-5 09:03
标题: 可否将字符串作为函数名引用(类似Matlab的eval)
比如字符串str="ABC", 就调用函数call ABC有点像matlab里的eval("call ABC")

作者: li913    时间: 2023-6-5 09:10
元编程,fortran做不到。
作者: cqflhl    时间: 2023-6-5 09:17
li913 发表于 2023-6-5 09:10
元编程,fortran做不到。

把函数名作为参数传递呢
作者: cqflhl    时间: 2023-6-5 09:22
li913 发表于 2023-6-5 09:10
元编程,fortran做不到。

VB6本质也是编译语言,不是解释语言,但可以通过API执行一个字符串
作者: li913    时间: 2023-6-5 11:26
cqflhl 发表于 2023-6-5 09:17
把函数名作为参数传递呢

函数可以传递,跟普通参数传递一样,而不是以字符串形式。
作者: li913    时间: 2023-6-5 11:27
cqflhl 发表于 2023-6-5 09:22
VB6本质也是编译语言,不是解释语言,但可以通过API执行一个字符串

调用 system 的 cmd吗?
作者: weixing1531    时间: 2023-6-5 12:48
过程指针根据字符串不同选择不同指向
作者: fcode    时间: 2023-6-5 15:34
有一个投机的方法可以实现,很多软件实现的插件功能,就是这种思想。

写一个 abc.dll ,其中实现一个函数,比如叫 subroutine execute()
有其他的需要的话,就写 abd.dll , abe.dll , abf.dll ,他们都实现相同的函数 比如 subroutine execute()

然后你可以根据这个字符串,比如 strFunc = "abc" , 去加载 strFunc //".dll",然后调用它实现的 execute




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2