外部函数如何在Regina Rexx中返回数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了外部函数如何在Regina Rexx中返回数据?相关的知识,希望对你有一定的参考价值。

我已经在Windows 10上的Cygwin中安装了Regina Rexx软件包(版本3.9.1)。为了测试它,我编写了以下代码:

呼叫者:

#!/usr/bin/rexx
x = 'callee'() ; say 'callee returned' x ; exit

被叫:

#!/usr/bin/rexx
say 'In callee' ; return 42

当我调用调用者时,我希望看到:

> ./caller
In callee
callee returned 42

事实上,这正是我在两个执行官都在我当前目录中时所看到的。但是,当我将它们移动到$ PATH中的另一个目录并调用调用者时,我看到:

> ./caller
caller returned In callee

这是......意想不到的。如果对Regina Rexx手册中的行为有解释,我就没有看到它。我错过了什么吗?谢谢。

答案

事实证明,只有Rexx执行程序驻留在REGINA_MACROS变量中提到的目录中时才能用作外部函数,如下所示:

export REGINA_MACROS="${HOME}/subdir:/maybe/somewhere/else"

如果没有这个,被调用的例程将被视为另一个可执行文件。返回值是所有stdout行,它们之间有空格分隔符。任何stderr输出都像往常一样发送到屏幕(或重定向)。

以上是关于外部函数如何在Regina Rexx中返回数据?的主要内容,如果未能解决你的问题,请参考以下文章

存储过程 - 如何在 rexx 中获取数组作为输出

有没有办法将数组传递给外部 REXX 程序?

IBM Z/os Rexx 脚本返回 255 退出代码

如何使用 REXX 将作业日志保存到数据集中

大型机中的 SHA256。 REXX 中是不是存在函数?

在 Rexx 中查找第 n 个出现的字符