我有一个独立运行的Rexx脚本,我希望使用另一个Rexx脚本来调用其中的特定功能.我知道我可以调用整个外部Rexx文件和内部Rexx函数call,但是我能在外部脚本中调用单个函数吗?以下示例说明了我想要做的事情:
/* REXXA */
say 'hello'
run_test:
say 'test'
Run Code Online (Sandbox Code Playgroud)
...
/* REXXB */
call 'REXXA' /* will say both 'hello' and 'test' */
Run Code Online (Sandbox Code Playgroud)
如何修改REXXB只说"测试"?
编辑:进一步的研究表明我可能正在寻找RxFuncAdd - 任何人都可以确认这是否适用于大型机Rexx脚本?涉及它的大多数引用都与DLL库有关...
编辑2:显然不是......任何人都有更好的想法?

编辑3:我一定不能正确解释我的要求,抱歉 - 根据NealB的回应中的评论,我基本上想要类似于在'数学'课堂中调用'罪'功能.我在上面的示例中编写的代码是REXXB,我想尽可能少地更改REXXA.
直接无法在另一个程序中处理内部标签.
我的第一个直觉反应是你必须稍微修改REXXA以添加带有功能代码的包装函数,类似于
/* REXX A */
arg a1 a2 a3 a4 a5 (etc.)
select
when a1 = 'SIN'
call sin a2 a3 ....
when a1 = 'COS'
call cos a2 a3 ....
end
exit rc
sin:
return some equation involving a2 that I last saw about 33 years ago
cos:
return some equation involving a2 that I last saw about 33 years ago
/* REXX B */
call 'REXXA' 'sin 85'
Run Code Online (Sandbox Code Playgroud)
但是,TSO下的REXX支持外部函数和子程序,可以用多种语言编写,包括REXX.TSO/E REXX参考外部函数和子例程以及函数包z/OS V11 flavor描述了如何执行此操作.
文档中有一条关于可选编译REXX的说明.如果您没有它,您可能会找到获得许可的人,可以将其编译为与ALTLIB一起使用(无需许可证).
| 归档时间: |
|
| 查看次数: |
3455 次 |
| 最近记录: |