Назначение структуры PL1 с опцией BY NAME во время выполнения или компиляции

В PL1 можно назначить структуру с опцией BY NAME. Эта функция используется только во время выполнения или только во время компиляции?

Документация IBM не очень полезна в этом случае.

1 ответ

Решение

Вы говорите о BY NAME в назначении процедуры (более известный как BY Reference) или BY NAME в назначении???.

Из справочного руководства, я полагаю, вы говорите о параметре назначения BY NAME в назначении PL1, который является вариантом предложения Cobol Move Corresponding.

Да, можно назначить структуру pl1 с помощью опции BY NAME. Это будет определено во время компиляции точно, что назначено на что.

См. Пример по имени в 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;
Другие вопросы по тегам