Стринг в РПГ? - PullRequest
       27

Стринг в РПГ?

1 голос
/ 11 июня 2019

Я хочу использовать имя переменных в качестве литералов / строк для вызова процедуры. Ищете процедуру / api / что-нибудь для моделирования оператора Stringizing из C. Возможно ли это вообще?

myField = Value;
myProc(stringize(myField):myField);


dcl-proc myProc;
dcl-pi;
   variableName char(10);
   value        char(10);
end-pi;
   dsply (variableName + ': ' + value);
end-proc; 

ожидаемый результат:
myField: значение

1 Ответ

3 голосов
/ 11 июня 2019

Нет.Это даже не оператор C, а артефакт расширения макроса.Прекомпилятор C выполняет расширение.В компиляторе RPG нет ничего такого, что делает это.Вы можете запросить эту функцию, отправив RFE на developerworks .

Однако я не совсем понимаю необходимость.Макрос C просто превращает имя параметра в текст, подобный этому:

#define stringize(x) #x

a = stringize(test);

приводит к a = "test";

, почему бы просто не использовать a = "test";

В RPG также почемуне просто использовать a = 'test';

или в вашем примере myProc('myfield': myfield);

что делает stringize(myfield)?

...