17.03.13, 20:16, Sven Barth пишет:

But we aren't in a constant or type section here. Also one uses ":=" in
the for-loop header.

I agree that ':=' should be used but I would not say that '=' is not pascalish :)

Let's look look at possibilities:

1. 'as' can't be used because we can use expressions in with and we can 'as' typecasting. 2. '=' can't be used because we can use expressions and '=' can be a part of expression. For example 'with DoSomething(a = b) do'.
3. ':=' can be used since we can't use assignments in with expressions.
4. ':' (Marco suggesion) can be used - it is not used in expressions. ':' is used in pascal to:
  - separate variable and type,
  - in write intristic
  - in record constants to separate field and value
5. We can use some new keyword or reuse some keyword which is not used in expressions.

If I need to choose from 3, 4 and 5 I would use ':=' syntax because it more like to assignment:

with a := TStringList.Create do
begin
  Text := 'bla';
  DoSomething(a);
  Free;
end;

Best regards,
Paul Ishenin
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to