×
The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.
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
As an Amazon Associate we earn from qualifying purchases.