0

在 PL1 中,可以使用 BY NAME 选项分配结构。此功能是在运行时使用还是仅在编译期间使用?

IBM 文档在这种情况下不是很有帮助。

4

1 回答 1

2

您是在谈论程序分配中的BY NAME(更好地称为 BY Reference)还是分配中的BY NAME ???。

从手册参考中,我假设您正在谈论 PL1 分配中的BY NAME分配选项,它是 Cobol Move Corresponding子句的变体。

是的,可以使用BY NAME选项分配 pl1 结构。它将在编译时确定究竟分配了什么。

请参阅PL1 中的按名称示例

这基本上列出了:

  declare      declare       declare
  1 One,       1 Two,        1 Three,
   2 Part1,     2 Part1,      2 Part1,
    3 Red,       3 Blue,       3 Red,
    3 Orange,    3 Green,      3 Blue,
   2 Part2,      3 Red,        3 Brown,
    3 Yellow,   2 Part2,      2 Part2,
    3 Blue,      3 Brown,      3 Yellow,
    3 Green;     3 Yellow;     3 Green;

使用按名称子句的赋值语句

 One = Two, by name;
 One.Part1 = Three.Part1, by name;

1 第一个赋值语句与以下相同:

  One.Part1.Red    = Two.Part1.Red;
  One.Part2.Yellow = Two.Part2.Yellow;

2 第二个赋值语句同下:

  One.Part1.Red = Three.Part1.Red;
于 2014-09-10T23:09:43.333 回答