On Thursday, 4 December 2014 at 23:27:05 UTC, bearophile wrote:
Baz:
"Attack" me on the content of:
http://wiki.dlang.org/Coming_From/Delphi
This is my user experience about coming from Pascal/Delphi to
D.
Thank you for the work :-)
Code Rosetta, etc. => Rosetta Code.
D has a feature similar to Pascal/delphi source inclusion.
Yes, but in 99.9% cases in D you use the module system.
D has no equivalent feature. The published attribute does not
exist but instead you have some compile-time reflection<
D has some run-time features, like typeid, and other stuff in
object.d.
public bool opIn_r(char elem){
import std.algorithm;
return canFind(str,elem);
}
There are also ways to do that with an associative array, or
with a bit set in amortized O(1) or strict O(1).
In D, is is used to test the equivalence of two types, at
compile-time.
And also to compare bitwise two values, like two class
references.
The D2 way is to use a struct combined with an alias this
expression:
There is also the currently not good Phobos "Typedef".
Another note worth adding is that built-in D arrays start from
index 0 and they have only size_t indexes.
There are probably several more things worth adding to that
page, but it's a nice start.
Bye,
bearophile
Thx, to ketmar too. handled your commments.
And that's true that array and slice top index deserve a section,
a good oportunity too to introduce opDollar. I was already
thinking to add one because the "foreach(i; 0 .. 8)" expression
is closed to the Pascal "for ... to ..." loop syntax, with the
top index ambiguity in more.