在 PL1 中,可以使用 BY NAME 选项分配结构。此功能是在运行时使用还是仅在编译期间使用?
IBM 文档在这种情况下不是很有帮助。
您是在谈论程序分配中的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;