现在我在一家公司工作,这对银行不利。它使用OpenEdge,在某些过程中添加了包含参数的文件时,我遇到了这种情况。此后,如果它是第一个包含文件,则可以使用参数&*添加它。 С谁能解释这是如何工作的?
例如:
first.i:
...
{second.i {*&}}
...
proc.p:
...
{first.i &f='one '
&s='two '
}
...
第二个包含文件的名称后面附加的“&”符号也会将传递给first.i的所有参数也传递给second.i。
{second.i {&*}}
除非您知道要查找的内容,否则在帮助文档中很难找到,这是{} Argument reference,它指出:
&argument-name要引用的参数的名称。如果您引用参数名称,而调用过程未提供该参数名称,则ABL会忽略{&argument-name}。如果参数名是星号(*),则ABL替换调用过程传递的所有参数。它还为每个参数添加引号,以便您可以通过包含文件的多个级别传递命名的参数列表。 >
由于所有参数都已传递给second.i,因此您可以:
// second.i
message {&f} {&s}.