我是NATURAL programming language的新手。我试图找到一种方法,我可以将一个参数传递给子程序,就像在C ++或Java中一样。现在我必须将所有内容移动到另一个变量并调用该方法。因此很麻烦,需要编写更多代码。
问题:自然程序子程序是否可以使用C ++或Java中的参数列表?
D = passVariable1
PERFORM FLIP-DATE
A = D
END-SUBROUTINE
newVariable = A
代码:
DEFINE SUBROUTINE FLIP-DATE
#A = #D
#B = #E
#C = #F
RESET #NMM #NDD #NCCYY
END-SUBROUTINE
我想做什么。
代码:
DEFINE SUBROUTINE FLIP-DATE(A,B,C,D,E,F) <-- is this possible somehow?
#A = #D
#B = #E
#C = #F
RESET #NMM #NDD #NCCYY
END-SUBROUTINE
答案 0 :(得分:2)
参数数据区(PDA)是本地数据区(LDA)的特殊检验,用于函数,外部子例程或帮助例程对象。您可以定义内联参数,如
DEFINE DATA
PARAMETER
1 #A(N2)
1 #B(N2)
1 #C(N2)
1 #D(N2)
1 #E(N2)
1 #F(N2)
LOCAL
your local variables
END-DEFINE
…
或者,您也可以创建一个单独的源对象,类似于外部LDA。
DEFINE DATA
PARAMETER USING pda
LOCAL
your local variables
END-DEFINE
…
请注意,您不能将参数与内部子例程一起使用。
如果您之前从未使用过这种强大的语言,我建议您先阅读Software AG网站上的Natural documentation,特别是“第一步”手册。
答案 1 :(得分:1)
parameter-data-area可用于将数据传递给子程序和例程。