Peter,
"Valid RPG code" meaning the syntax once a TR is implemented. Yes, not
putting the == is what I meant as valid.
boolVal = (a = b ? '1': '0');
is equivalent to:
if a = b;
boolVal = '1';
else;
boolVal = '0';
endif;

I am only trying to explain a very simple expression, and the concept is
there.

JS

El vie, 12 dic 2025 a las 1:22, Peter Dow (<petercdow@xxxxxxxxx>) escribió:

dcl-s boolVar IND inz;

boolVar = (a = b ? '1': '0');

It's your choice. That is RPG valid code above.

I assume you mean that the DCL-S is valid RPG code, since the request
was to have a construct like

boolVar = (a = b ? '1': '0');

in RPG.

RPG does not have ==, just =, but in the context of

boolVal = (a = b);

the (a = b) is the same as the C (a == b), correct?

In that case, unless RPG comes up with some operator that distinguishes
between = (assignment) and == (test for logical equivalence), the
closest we can get to the C version is

boolVal = (a = b); // the equivalent of the C expression boolVal = (a ==
b ? '1' : '0');

If the C expression was

resultString = (a == b ? 'Hello' : 'Goodbye');

RPG would require

if a = b;
resultString = 'Hello';
else;
resultString = 'Goodbye';
endif;

and if the C expression was

resultString = (a = b ? 'Hello' : 'Goodbye');

RPG would require

a = b;
if b <> 0;
resultString = 'Hello';
else;
resultString = 'Goodbye';
endif;

Meaning that the assignment of b to a is unconditional, but the
assignment of 'Hello' or 'Goodbye' is conditioned upon the value of b
being non-zero.

--
*Peter Dow* /
909 793-9050
petercdow@xxxxxxxxx
/
On 12/11/2025 6:56 PM, Javier Sanchez wrote:
Simple:
One line of code. The compiler would make the hard work with the return
value. It is your intellectual work that you want back. A string? A
floating point? A char()? Whatever. The single line is clear upon your
intention.
The == notation is "C", put that away in RPG. Use only one = sign.
The return value is your intellectual work. Say it is an IND:
dcl-s boolVar IND inz;
boolVar = (a = b ? '1': '0');
It's your choice. That is RPG valid code above.

JS



--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.