On 06/02/2018 8:46 PM, Craig Dillabaugh wrote:
On Tuesday, 6 February 2018 at 18:46:54 UTC, H. S. Teoh wrote:
On Tue, Feb 06, 2018 at 06:33:02PM +0000, Ralph Doncaster via Digitalmars-d-learn wrote:
clip

OO is outdated.  D uses the range-based idiom with UFCS for chaining operations in a way that doesn't require you to write loops yourself. For example:

    import std.array;
    import std.algorithm;
    import std.conv;
    import std.range;

    // No need to use .toStringz unless you're interfacing with C
    auto hex = "deadbeef";    // let compiler infer the type for you

    auto bytes = hex.chunks(2)    // lazily iterate over `hex` by digit pairs
       .map!(s => s.to!ubyte(16))    // convert each pair to a ubyte
       .array;            // make an array out of it

    // Do whatever you wish with the ubyte[] array.
    writefln("%(%02X %)", bytes);

clip
T

Wouldn't it be more accurate to say OO is not the correct tool for every job rather than it is "outdated".  How would one write a GUI library with chains and CTFE?

But you could with signatures and structs instead ;)

Reply via email to