Something like this:
var
MyInt: Integer = 10;
MyGuid: Guid = {cbbd84dc-84f8-4ca4-88dc-9a526dbf88d0};
Comments
Is there already an Idea for inline declaration of variables? Or are we piggy backing it on this Idea?
Category: Development
I would rather support inline declaration, instead of the old var block, e.g.
local procedure Foo()
begin
var Bar: Boolean := SomeComplexBunchOfTestsAndCalls();
if Bar then
Flump();
end;
Category: Development
Would this also apply to e.g. arguments and return values?
procedure Foo(a: Text = 'bar'; b: Integer = 1): Boolean = true
I'm also thinking, since only primitive/simple values (literals) can be supported, do we need the value type name?
procedure Foo(a: 'Bar'; b: 1): true
I'd think that would at least make overloading somewhat more straightforward too.
I'm also wondering what your suggestion would be for single-line-declarations:
a, b, c: Integer;
Were you thinking about something like:
a = 1, b = 2, c = 3: Integer; // each declaration has an independent optional default value
or even:
a: 1; b: 2; c: 3; // the literal implies it's an Integer type
or
a, b, c: Integer = 1; // all same-line declarations have the same default value
or even:
a, b, c: 1;
Btw. I also really like the const idea by Arend-Jan Kauffmann.
Category: Development
I would like to see inline declaration of variables rather than the VAR section (ala C# et al)
Category: Development
Or similar to how labels are locked:
var
MyGuid: label '{cbbd84dc-84f8-4ca4-88dc-9a526dbf88d0}', Locked = true; // This is possible already! Better than a procedure that exists this Guid, but
MyGuid: Guid '{cbbd84dc-84f8-4ca4-88dc-9a526dbf88d0}', Locked = true; // would be more consistent
MyInt: Integer 10, Locked = true; // (the same for an integer)
Category: Development
Wish I could vote for this one more than once!
Would also agree about the constant idea (with associated codecop rules)
Category: Development
Optionally add the option to make the variable constant. Like:
var
MyInt: Integer = 10;
const MyGuid: Guid = {cbbd84dc-84f8-4ca4-88dc-9a526dbf88d0};
or
var
MyInt: Integer = 10;
const
MyGuid: Guid = {cbbd84dc-84f8-4ca4-88dc-9a526dbf88d0};
Category: Development