|
True, I had not thought about the difference between equality and assignment... That would make things a little sticky! Then we surely would have another V4Rx Gotcha thread that would go on forever :-) I do like that alternitive that you listed. it's either that or make a different assignment ( := ) or equality operator ( == ) a path I am sure no one wants to go down. The increment (++), decrement(--), and the other associated operators (*=, +=, -=, /=) would be cool as someone else pointed out. Thanks again Eric ______________________________________________ Eric N. Wilson President Doulos Software & Computer Services 2913 N Alder St Tacoma WA 98407 ----- Original Message ----- From: <boldt@ca.ibm.com> To: <RPG400-L@midrange.com> Sent: Tuesday, October 05, 1999 12:58 PM Subject: Re: C style assignment of variable values > > > > Eric wrote: > >Would it be possible to make the following expression valid in future > >versions of the compiler??? > > > >EVAL C_NumRecs = C_MailFlags = C_UserFlags = 0 > > > >And no I do not need to put a statement terminator on the end of that :-) > > > >It seems that evaluation of this sort of expression should be easy when > >evaluated from right to left (like C does). Not a big thing but I like to do > >that sort of thing to reduce initializations to a small block of code. And > >yes I know that there are a million and one ways to achieve the same goal, > >Named datastructure with initializations etc... I just find the above to be > >readable and love to know what I am initializing near the code that I am > >working with. > > Unfortunately, the = operator is overloaded in RPG IV. It's used > for both assignment and comparison. The above EVAL statement is > almost valid today. Replace it with, say: > > EVAL A = B = C > > and you'd have a valid RPG IV statement. It wouldn't do what you > expected, though. First, expression B = C would be evaluated > giving an indicator value. The result of that comparison would > then be assigned to A. > > The main issue here is that in RPG IV, assignment is considered a > statement. But in other languages, like C and Perl, it is an > expression. With assignment as an expression, you run into such > messy issues like order of evaluation and side effects. (Not to > mention the common C bug: if(a=b)!) > > OTOH, we could possibly come up with some different syntax like: > > EVAL A, B, C = 0 > > Cheers! Hans > > Hans Boldt, ILE RPG Development, IBM Toronto Lab, boldt@ca.ibm.com > > > +--- > | This is the RPG/400 Mailing List! > | To submit a new message, send your mail to RPG400-L@midrange.com. > | To subscribe to this list send email to RPG400-L-SUB@midrange.com. > | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. > | Questions should be directed to the list owner/operator: david@midrange.com > +--- +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 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.