Hi, Actually, this sort-of makes sense. I find "as" or something similar to be more aesthetically pleasing, but @ seems to make it clear that the identifier is just an alias (pointer address), and not a real temporary variable.
Of course I would be happy for any keyword or syntax that actually allows this to be done. Theoretically you could already use "absolute" instead, but... Thank you, Noah Silva 2013/3/20 Lukasz Sokol <el.es...@gmail.com> > On 18/03/2013 03:11, Paul Ishenin wrote: > > 18.03.13, 9:27, Xiangrong Fang пишет: > >> I am sorry I didn't follow this thread although I am the "OP" :-). If > >> I understand correct, I would suggest NOT introduce the "absolute" > >> keyword, instead, make it ALWAYS absolute. i.e.: > >> > >> with a = SomeObject, b = SomeRecord do begin > >> ... ... > >> end; > >> > >> Both a and b are "reference" to the object or record, IMO there seems no > >> need to do assignment in the with syntax. Thus, I suggest use = instead > >> of := > > > > '=' can't be used because it can be a part of expression. There is no > big difference between > > with (a = SomeObject) do > > and > > with a = SomeObject do > > > > After more thinking I see that ':=' as well as absolute keyword are also > bad because they will complicate the parser (although it is possible to use > them). Parser will need to read the first token and check if it is an > identifier, read second token and compare with ':=' (or 'absolute') and if > it is not ':=' (or 'absolute') return to expression parse. > > > > At the same time we will not complicate the parser if we place alias > identifier after the with expression like: > > > > with expression1, expression2 => alias2, expression3, expression4 => > alias4 do > > > > begin > > > > end; > > > > Where '=>' is some token which can't be used in expressions. > > > For example '@' ? > > e.g. > with alias1@SomeLongObject, alias2@SomeOtherLongObject, ... do > > rationale: > it's sufficiently different, and as for its nominal usage, it does similar > thing. > > ? > > > Best regards, > > Paul Ishenin > > > > Lukasz > > > _______________________________________________ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > http://lists.freepascal.org/mailman/listinfo/fpc-pascal >
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal