Remus
Namespace
rswhite4 at googlemail.com
Tue Dec 4 14:00:34 PST 2012
Last pull today. Romulus is ready to use/test. A website and
documentation coming soon and then I need some help to write it
in english. But first I hope that some of you could test it.
Here a brief overview:
- not null references. Syntax: Object& obj
- final variables. mutable access, but not rebindable. Syntax:
final Object obj
- readonly variables, even called "lazy const". constant
variable, not rebindable but value must not assign by
declaration. Syntax: readonly int i;
- Elvis operator. Short ternary operator.
Syntax:
Object o;
// ...
o = o ?: new Object();
- Not null safe invocation. Syntax: a?.b?.c will be converted to:
if (a && a.b) a.b.c. (works only with identifiers).
- Scoped arrays. scoped and static/stack array with the ability,
that their size could be a runtime value. You can resize them,
but if you do and if the capacity is fully used, it is
reallocated on the heap. After leaving scope the memory is
automatically destroyed, even if you have reallocated memory on
the heap.
Syntax:
scope byte[4] arr1;
int i = 4;
scope byte[i] arr2;
More information about the Digitalmars-d-announce
mailing list