REXX中的RC特殊变量?

时间:2010-11-30 12:16:49

标签: rexx

如何在REXX中为RC特殊变量赋值?

4 个答案:

答案 0 :(得分:2)

/* REXX */
"LISTDS ?"         /* Command that sets RC to 12 */
SAY 'RC IS' RC     /* RC is 12 */
RC = X             /* RC set to X */
SAY 'RC IS' RC     /* RC is X */

上面的工作,RC变量没有什么特别之处,除了它将被最后一个命令的返回代码覆盖。 因此,您可以将其设置为您想要的任何内容,至少在运行Zos的大型机上。

也许您需要在问题中提供更多详细信息,例如Rexx的类型(Classic或OO)以及您正在使用的环境。

答案 1 :(得分:0)

如果要设置方法的返回值,则需要使用“return”命令并获取带有“result”的返回码,例如:

/* REXX - program A */ 
SAY "THIS IS PROG. A WITH RC = 4"
RETURN 4

/* REXX - PROGRAM B */
SAY "CALLING PROGRAM A..."
CALL PROG_A
RC = RESULT
SAY "RC = "RC " RETURN FROM PROGRAM A..."

答案 2 :(得分:0)

正如Deuian之前所说,RC是由最后执行的命令设置的,应提供更多细节以获得精确答案(环境,目标/任务,批处理/交互等)。 在Zos REXX上设置RC的一种愚蠢的工作方式是建立一个缓冲区:RC设置为缓冲区计数(所以如果你需要RC = 100你应该创建100个缓冲区...),请参阅示例(我不认可使用这种方法,这只是一个猜想)

/* rexx */
'MAKEBUF'
say RC
'MAKEBUF'
say RC
'DROPBUF'
say RC
/* exec output */
1
2
0
***

请注意前面的代码会使缓冲区处于活动状态! (需要另一个DROPBUF)

答案 3 :(得分:0)

SAY指令将发送屏幕提示或在输出中包含文本。如果要将RC设置为可以由作业中的后续步骤解释的内容,请尝试:

INNER
相关问题