#ibm-midrange #rpgle
#ibm-среднечастотный #rpgle
Вопрос:
Можете ли вы объяснить, что =
означает это утверждение?
Eval AssGr2Pun = FinQty#
Вот остальная часть кода для контекста:
Exsr FinItmTot
Eval AssGr2Pun = FinQty#
If OrderAdd = 'N'
Eval Gr2TPass = 1
Eval OrderAdd = 'Y'
Endif
Eval AssGr2Pst = 1
When OhReqd = Today
Exsr FinItmTot
Eval AssGr2Tun = FinQty#
If OrderAdd = 'N'
Eval Gr2TTday = 1
Eval OrderAdd = 'Y'
Endif
Eval AssGr2Tod = 1
When OhReqd = Tomorrow
Exsr FinItmTot
Комментарии:
1. если это похоже на большинство других языков, которые используют
=
, тоx = 1
это эквивалентx = x 1
2. Это означает добавлять и назначать за одну операцию.
X = 4
то жеX = X 4
самое, что и .3. Хорошо, спасибо, теперь я это понимаю.
4.
=
похоже, его нет ни в одной из ссылок на язык RPG.5. Для получения текущей справочной информации об IBM i, пожалуйста, обратитесь к Центру знаний IBM i , как показано в правильном ответе Джеймсы.
Ответ №1:
Где <цель> <оператор присваивания> <выражение>:
- = Выражение присваивается цели
- = Выражение добавляется к цели
- -= Выражение вычитается из целевого значения
- *= Цель умножается на выражение
- /= Цель делится на выражение
- **= Цели присваивается цель, возведенная в степень выражения
Ответ №2:
Этот оператор также полезен для переменных, изменяющих символ.
D wVar S 32740a Меняется
/Бесплатно
wVar=’Мое имя’;
wVar =’есть’;
wVar =’Чарли’;
* INLR = * Вкл;
/ Без конца
Конечно, это всего лишь пример, демонстрирующий эту возможность.