Fortran Coder

标题: prefix关键字解决命名冲突 [打印本页]

作者: weixing1531    时间: 2025-4-22 10:06
标题: prefix关键字解决命名冲突
本帖最后由 weixing1531 于 2025-4-22 12:01 编辑

目前靠=>改名太麻烦了

use modA,only:sub1
use,prefix::modB

call sub1()
call modB.sub1()

希望新的fortran标准加入prefix关键字和.操作符
实现python类似功能
import modB
modB.sub1

注意:Fortran中use modB等价于Python中from modB import *

作者: 楚香饭    时间: 2025-4-22 10:30
用 type 捆绑过程呗
type(T_name) :: aa , bb , cc
call aa%method_1()
call bb%method_2()
作者: weixing1531    时间: 2025-4-22 10:52
楚香饭 发表于 2025-4-22 10:30
用 type 捆绑过程呗
type(T_name) :: aa , bb , cc
call aa%method_1()

你这个是静态方法nopass做法
实例方法需要绑定
模块方法没必要绑定吧
作者: 楚香饭    时间: 2025-4-22 13:20
weixing1531 发表于 2025-4-22 10:52
你这个是静态方法nopass做法
实例方法需要绑定
模块方法没必要绑定吧

模块方法没法绑定。
所以不写public的模块方法,所有公开的函数都绑定到派生类型上。
即便这个派生类型是空的
作者: weixing1531    时间: 2025-4-22 15:50
本帖最后由 weixing1531 于 2025-4-22 16:25 编辑
楚香饭 发表于 2025-4-22 13:20
模块方法没法绑定。
所以不写public的模块方法,所有公开的函数都绑定到派生类型上。
即便这个派生类型是 ...

Type封装后不会影响效率吗?

Screenshot_20250422_162316_com.tencent.mm.jpg (461.61 KB, 下载次数: 368)

Screenshot_20250422_162316_com.tencent.mm.jpg

作者: weixing1531    时间: 2025-4-22 17:04
如果支持类型名访问nopass就好了
Type(TypeName)::ObjectName
Now:
ObjectName%NoPassMethod()

I need:
TypeName%NoPassMethod()




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