Fortran Coder

查看: 1837|回复: 7

[子程序] 可否将字符串作为函数名引用(类似Matlab的eval)

[复制链接]

25

帖子

6

主题

0

精华

入门

F 币
106 元
贡献
45 点
发表于 2023-6-5 09:03:24 | 显示全部楼层 |阅读模式
比如字符串str="ABC", 就调用函数call ABC有点像matlab里的eval("call ABC")

790

帖子

2

主题

0

精华

大宗师

F 币
3765 元
贡献
2255 点
发表于 2023-6-5 09:10:33 | 显示全部楼层
元编程,fortran做不到。

25

帖子

6

主题

0

精华

入门

F 币
106 元
贡献
45 点
 楼主| 发表于 2023-6-5 09:17:42 | 显示全部楼层
li913 发表于 2023-6-5 09:10
元编程,fortran做不到。

把函数名作为参数传递呢

25

帖子

6

主题

0

精华

入门

F 币
106 元
贡献
45 点
 楼主| 发表于 2023-6-5 09:22:23 | 显示全部楼层
li913 发表于 2023-6-5 09:10
元编程,fortran做不到。

VB6本质也是编译语言,不是解释语言,但可以通过API执行一个字符串

790

帖子

2

主题

0

精华

大宗师

F 币
3765 元
贡献
2255 点
发表于 2023-6-5 11:26:19 | 显示全部楼层
cqflhl 发表于 2023-6-5 09:17
把函数名作为参数传递呢

函数可以传递,跟普通参数传递一样,而不是以字符串形式。

790

帖子

2

主题

0

精华

大宗师

F 币
3765 元
贡献
2255 点
发表于 2023-6-5 11:27:11 | 显示全部楼层
cqflhl 发表于 2023-6-5 09:22
VB6本质也是编译语言,不是解释语言,但可以通过API执行一个字符串

调用 system 的 cmd吗?

125

帖子

34

主题

1

精华

大师

F 币
1129 元
贡献
587 点
发表于 2023-6-5 12:48:20 | 显示全部楼层
过程指针根据字符串不同选择不同指向

1948

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1298 元
贡献
547 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2023-6-5 15:34:48 | 显示全部楼层
有一个投机的方法可以实现,很多软件实现的插件功能,就是这种思想。

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

然后你可以根据这个字符串,比如 strFunc = "abc" , 去加载 strFunc //".dll",然后调用它实现的 execute
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-3-29 01:56

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表