REXX中的RC特殊变量?

如何在REXX中为RC特殊变量赋值?     
已邀请:
/* 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)以及您正在使用的环境。     
如果要设置方法的返回值,则需要使用“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..."
    
正如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)     

要回复问题请先登录注册